:root {
  color-scheme: light dark;
  --color-ink: #17191c;
  --color-muted: #765744;
  --color-meta: #8b5c3f;
  --color-line: #ded2c3;
  --color-paper: #fbf6ed;
  --color-surface: rgb(255 255 255 / 88%);
  --color-soft: #f4d18f;
  --color-soft-blue: #f3dfc8;
  --color-accent: #c96f5f;
  --color-accent-dark: #9a483d;
  --color-button-accent-text: #251512;
  --color-button-accent-hover: #782c25;
  --color-button-accent-active: #431713;
  --color-blue: #245f83;
  --shadow-soft: 0 18px 46px rgb(23 25 28 / 10%);
  --radius-card: 8px;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: "Source Serif Pro", ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, serif;
  --site-text-scale: .94;
}

/* Gospel Mag Studio ------------------------------------------------------- */
.admin-body {
  --admin-navy: #101b25;
  --admin-navy-soft: #172633;
  --admin-cyan: #67d6dc;
  --admin-coral: #ff826c;
  --admin-canvas: #f2f5f7;
  background: var(--admin-canvas);
  color: #17212b;
  min-height: 100dvh;
  padding: 0;
}

.admin-app {
  display: grid;
  grid-template-columns: 272px minmax(0, 1fr);
  min-height: 100dvh;
  transition: grid-template-columns 190ms ease;
}

.admin-sidebar {
  background:
    radial-gradient(circle at 18% 0, rgb(103 214 220 / 16%), transparent 240px),
    linear-gradient(180deg, #13232f 0%, var(--admin-navy) 58%);
  color: #eaf4f5;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  overflow-y: auto;
  padding: 22px 16px 16px;
  position: sticky;
  top: 0;
  z-index: 72;
}

.admin-brand-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 5px 30px;
}

.admin-brand {
  align-items: center;
  color: #fff;
  display: flex;
  gap: 12px;
}

.admin-brand:hover,
.admin-brand:focus-visible {
  color: #fff;
}

.admin-brand-mark {
  align-items: center;
  background: linear-gradient(135deg, var(--admin-cyan), #8ae2c2 48%, #ffc17f);
  border-radius: 12px 5px 12px 5px;
  box-shadow: 0 8px 24px rgb(103 214 220 / 20%);
  color: #10212c;
  display: inline-flex;
  font-size: 1.22rem;
  font-weight: 930;
  height: 42px;
  justify-content: center;
  transform: rotate(-2deg);
  width: 42px;
}

.admin-brand > span:last-child {
  display: grid;
  line-height: 1.12;
}

.admin-brand strong {
  font-size: .95rem;
  letter-spacing: -.01em;
}

.admin-brand small {
  color: #86a0ae;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .18em;
  margin-top: 4px;
  text-transform: uppercase;
}

.admin-sidebar-close {
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: none;
  font: 300 1.8rem/1 var(--font-sans);
  padding: 5px;
}

.admin-sidebar-collapse {
  align-items: center;
  background: rgb(255 255 255 / 5%);
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 8px;
  color: #8ea4af;
  cursor: pointer;
  display: flex;
  font: 500 1.25rem/1 var(--font-sans);
  height: 31px;
  justify-content: center;
  margin-left: auto;
  padding: 0 0 2px;
  transition: background 140ms ease, color 140ms ease, transform 190ms ease;
  width: 31px;
}

.admin-sidebar-collapse:hover,
.admin-sidebar-collapse:focus-visible {
  background: rgb(255 255 255 / 10%);
  color: #fff;
}

.admin-body.admin-sidebar-collapsed .admin-app {
  grid-template-columns: 82px minmax(0, 1fr);
}

.admin-body.admin-sidebar-collapsed .admin-sidebar {
  padding-inline: 12px;
}

.admin-body.admin-sidebar-collapsed .admin-brand-row {
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  margin-inline: 0;
}

.admin-body.admin-sidebar-collapsed .admin-brand > span:last-child,
.admin-body.admin-sidebar-collapsed .admin-nav-group h2,
.admin-body.admin-sidebar-collapsed .admin-nav-group a > span,
.admin-body.admin-sidebar-collapsed .admin-profile-copy,
.admin-body.admin-sidebar-collapsed .admin-sidebar-profile > a {
  display: none;
}

.admin-body.admin-sidebar-collapsed .admin-brand-mark {
  height: 40px;
  width: 40px;
}

.admin-body.admin-sidebar-collapsed .admin-sidebar-collapse {
  bottom: auto;
  left: auto;
  margin: 0;
  position: static;
  transform: rotate(180deg);
}

.admin-body.admin-sidebar-collapsed .admin-sidebar-nav {
  gap: 18px;
}

.admin-body.admin-sidebar-collapsed .admin-nav-group a {
  justify-content: center;
  padding: 8px;
}

.admin-body.admin-sidebar-collapsed .admin-sidebar-profile {
  display: flex;
  justify-content: center;
  padding: 8px;
}

.admin-body.admin-sidebar-collapsed .admin-avatar-initials {
  flex: 0 0 38px;
}

.admin-sidebar-nav {
  display: grid;
  gap: 22px;
}

.admin-nav-group h2 {
  color: #657e8d;
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .16em;
  margin: 0 12px 7px;
  text-transform: uppercase;
}

.admin-nav-group a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #aabdc7;
  display: flex;
  font-size: .87rem;
  font-weight: 680;
  gap: 11px;
  margin: 2px 0;
  min-height: 43px;
  padding: 8px 11px;
  position: relative;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.admin-nav-group a svg {
  fill: none;
  flex: 0 0 auto;
  height: 19px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 19px;
}

.admin-nav-group a:hover,
.admin-nav-group a:focus-visible {
  background: rgb(255 255 255 / 6%);
  color: #fff;
  transform: translateX(2px);
}

.admin-nav-group a[aria-current="page"] {
  background: linear-gradient(100deg, rgb(103 214 220 / 17%), rgb(103 214 220 / 7%));
  border-color: rgb(103 214 220 / 16%);
  color: #fff;
  box-shadow: inset 3px 0 var(--admin-cyan);
}

.admin-nav-group a[aria-current="page"] svg {
  color: var(--admin-cyan);
}

.admin-sidebar-profile {
  align-items: center;
  background: rgb(255 255 255 / 5%);
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  margin-top: auto;
  padding: 10px;
}

.admin-avatar-initials {
  align-items: center;
  background: linear-gradient(135deg, var(--admin-coral), #ffbd80);
  border-radius: 50%;
  color: #221713;
  display: flex;
  font-size: .76rem;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  letter-spacing: .03em;
}

.admin-profile-copy {
  display: grid;
  line-height: 1.25;
  min-width: 0;
}

.admin-profile-copy strong {
  color: #f8fbfc;
  font-size: .78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-profile-copy small {
  color: #718a99;
  font-size: .68rem;
}

.admin-sidebar-profile > a {
  align-items: center;
  border-radius: 7px;
  color: #8198a5;
  display: flex;
  height: 28px;
  justify-content: center;
}

.admin-sidebar-profile > a:hover,
.admin-sidebar-profile > a:focus-visible {
  background: rgb(255 255 255 / 8%);
  color: #fff;
}

.admin-stage {
  min-width: 0;
}

.admin-topbar {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgb(255 255 255 / 86%);
  border-bottom: 1px solid #e3e8eb;
  display: flex;
  justify-content: space-between;
  min-height: 74px;
  padding: 10px clamp(20px, 3vw, 42px);
  position: sticky;
  top: 0;
  z-index: 60;
}

.admin-topbar-title,
.admin-topbar-actions {
  align-items: center;
  display: flex;
}

.admin-topbar-title {
  gap: 13px;
}

.admin-topbar-title > div {
  display: grid;
  line-height: 1.25;
}

.admin-topbar-title small {
  color: #7a8992;
  font-size: .65rem;
  font-weight: 760;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.admin-topbar-title strong {
  color: #17212b;
  font-size: .96rem;
}

.admin-menu-toggle {
  background: #edf2f4;
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  display: none;
  height: 40px;
  padding: 10px;
  width: 40px;
}

.admin-menu-toggle span {
  background: #253641;
  display: block;
  height: 2px;
  margin: 4px 0;
  width: 19px;
}

.admin-topbar-actions {
  gap: 10px;
}

.admin-topbar-actions form {
  margin: 0;
}

.admin-theme-switch {
  align-items: center;
  background: #edf2f4;
  border-radius: 999px;
  display: flex;
  gap: 2px;
  padding: 3px;
}

.admin-theme-switch button {
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #71808a;
  cursor: pointer;
  font-size: .78rem;
  height: 29px;
  padding: 0;
  width: 29px;
}

.admin-theme-switch button:hover,
.admin-theme-switch button:focus-visible,
.admin-theme-switch button[aria-pressed="true"] {
  background: #fff;
  box-shadow: 0 3px 10px rgb(22 39 50 / 10%);
  color: #17212b;
}

.admin-view-site {
  align-items: center;
  border: 1px solid #dce4e8;
  border-radius: 10px;
  color: #334650;
  display: flex;
  font-size: .78rem;
  font-weight: 760;
  gap: 6px;
  min-height: 37px;
  padding: 0 12px;
}

.admin-view-site:hover,
.admin-view-site:focus-visible {
  background: #172631;
  border-color: #172631;
  color: #fff;
}

.admin-logout {
  background: transparent;
  border: 0;
  border-radius: 9px;
  color: #8a5c57;
  cursor: pointer;
  font: 750 1.08rem/1 var(--font-sans);
  height: 37px;
  width: 37px;
}

.admin-logout:hover,
.admin-logout:focus-visible {
  background: #fff0ee;
  color: #b74134;
}

.admin-main {
  margin: 0 auto;
  max-width: 1540px;
  padding: clamp(25px, 3.5vw, 48px) clamp(18px, 3.5vw, 48px) 70px;
  width: 100%;
}

.admin-main > .article,
.admin-main > article,
.admin-main > section {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

.admin-main .article h1,
.admin-main .archive-header h1 {
  font-size: clamp(2rem, 3.6vw, 3.25rem);
  letter-spacing: -.045em;
  line-height: 1.02;
}

.admin-breadcrumb {
  font-size: .75rem;
  margin-bottom: 20px;
}

.admin-breadcrumb a,
.admin-breadcrumb [aria-current="page"] {
  color: #788891;
  font-weight: 680;
}

.admin-main .card {
  background: rgb(255 255 255 / 92%);
  border-color: #e2e8eb;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgb(21 35 44 / 3%);
}

.admin-main .card:hover {
  border-color: #cfdade;
  box-shadow: 0 16px 36px rgb(28 47 59 / 8%);
}

.admin-backdrop {
  background: rgb(4 12 18 / 58%);
  border: 0;
  display: none;
  inset: 0;
  position: fixed;
  z-index: 70;
}

.admin-dashboard {
  display: grid;
  gap: clamp(48px, 6vw, 78px);
}

.admin-dashboard-hero {
  align-items: stretch;
  background:
    radial-gradient(circle at 82% 14%, rgb(103 214 220 / 18%), transparent 190px),
    linear-gradient(125deg, #152632 0%, #101b25 64%, #172d36 100%);
  border-radius: 28px;
  color: #fff;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr);
  min-height: 390px;
  overflow: hidden;
  padding: clamp(32px, 5vw, 68px);
  position: relative;
}

.admin-dashboard-hero::after {
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 50%;
  content: "";
  height: 330px;
  position: absolute;
  right: -110px;
  top: -130px;
  width: 330px;
}

.admin-dashboard-intro {
  align-self: center;
  max-width: 720px;
  position: relative;
  z-index: 1;
}

.admin-kicker {
  color: #6f818b;
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .15em;
  margin: 0 0 11px;
  text-transform: uppercase;
}

.admin-dashboard-hero .admin-kicker {
  color: var(--admin-cyan);
}

.admin-dashboard-hero h1 {
  color: #fff;
  font-size: clamp(3rem, 6.5vw, 6.6rem);
  font-weight: 780;
  letter-spacing: -.07em;
  line-height: .86;
  margin: 0 0 27px;
}

.admin-dashboard-hero h1 em {
  color: #8da2ad;
  font-family: var(--font-serif);
  font-weight: 400;
}

.admin-dashboard-hero p:not(.admin-kicker) {
  color: #a9bac2;
  font-size: clamp(.95rem, 1.4vw, 1.08rem);
  margin: 0;
  max-width: 560px;
}

.admin-hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 31px;
}

.admin-primary-action {
  align-items: center;
  background: var(--admin-cyan);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgb(103 214 220 / 18%);
  color: #10212b;
  display: inline-flex;
  font-size: .84rem;
  font-weight: 850;
  gap: 9px;
  min-height: 48px;
  padding: 0 17px;
  transition: background 150ms ease, transform 120ms ease;
}

.admin-primary-action span {
  font-size: 1.2rem;
}

.admin-primary-action:hover,
.admin-primary-action:focus-visible {
  background: #a0ecdf;
  color: #10212b;
  transform: translateY(-2px);
}

.admin-primary-action:active {
  transform: translateY(1px) scale(.97);
}

.admin-text-action {
  color: #d5e1e5;
  font-size: .82rem;
  font-weight: 760;
}

.admin-text-action span {
  display: inline-block;
  margin-left: 6px;
  transition: transform 150ms ease;
}

.admin-text-action:hover,
.admin-text-action:focus-visible {
  color: #fff;
}

.admin-text-action:hover span {
  transform: translateX(4px);
}

.admin-studio-pulse {
  align-self: center;
  display: grid;
  justify-items: center;
  position: relative;
  text-align: center;
  z-index: 1;
}

.admin-pulse-orbit {
  align-items: center;
  border: 1px solid rgb(103 214 220 / 25%);
  border-radius: 50%;
  display: flex;
  height: 160px;
  justify-content: center;
  margin-bottom: 20px;
  position: relative;
  width: 160px;
}

.admin-pulse-orbit::before,
.admin-pulse-orbit::after {
  border: 1px solid rgb(103 214 220 / 12%);
  border-radius: 50%;
  content: "";
  inset: 20px;
  position: absolute;
}

.admin-pulse-orbit::after {
  inset: 42px;
}

.admin-pulse-orbit span {
  background: radial-gradient(circle at 32% 28%, #eafff9, var(--admin-cyan) 32%, #328b99 76%);
  border-radius: 50%;
  box-shadow: 0 0 40px rgb(103 214 220 / 42%);
  height: 45px;
  width: 45px;
}

.admin-pulse-orbit i {
  animation: admin-orbit 7s linear infinite;
  border-radius: 50%;
  height: 8px;
  left: 50%;
  position: absolute;
  top: -4px;
  transform-origin: 0 84px;
  width: 8px;
}

.admin-pulse-orbit i::after {
  background: var(--admin-coral);
  border-radius: 50%;
  box-shadow: 0 0 12px var(--admin-coral);
  content: "";
  display: block;
  height: 8px;
  width: 8px;
}

@keyframes admin-orbit {
  to { transform: rotate(360deg); }
}

.admin-studio-pulse p {
  align-items: center;
  color: #b6c7ce !important;
  display: flex;
  font-size: .73rem !important;
  font-weight: 760;
  gap: 7px;
}

.admin-live-dot {
  background: #83e3a3;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgb(131 227 163 / 12%);
  height: 7px;
  width: 7px;
}

.admin-studio-pulse strong {
  font-size: 1.08rem;
  margin-top: 8px;
}

.admin-studio-pulse small {
  color: #718996;
  font-size: .69rem;
  margin-top: 3px;
}

.admin-dashboard-section {
  display: grid;
  gap: 23px;
}

.admin-section-heading {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.admin-section-heading h2 {
  color: #18242c;
  font-size: clamp(1.55rem, 2.7vw, 2.3rem);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: 0;
}

.admin-section-heading > a {
  color: #536771;
  font-size: .75rem;
  font-weight: 780;
}

.admin-section-heading > a span {
  margin-left: 6px;
}

.admin-section-heading > a:hover {
  color: #18242c;
}

.admin-section-note {
  color: #839098;
  font-size: .72rem;
}

.admin-kpi-grid {
  display: grid;
  gap: 13px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-kpi-card {
  background: #fff;
  border: 1px solid #e3e9ec;
  border-radius: 18px;
  color: #18242c;
  display: block;
  min-height: 245px;
  overflow: hidden;
  padding: 25px;
  position: relative;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-kpi-card:hover,
.admin-kpi-card:focus-visible {
  border-color: #bfced4;
  box-shadow: 0 22px 45px rgb(24 44 56 / 9%);
  color: #18242c;
  transform: translateY(-4px);
}

.admin-kpi-card::after {
  background: linear-gradient(90deg, var(--admin-cyan), var(--admin-coral));
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
  width: 100%;
}

.admin-kpi-card:hover::after {
  transform: scaleX(1);
}

.admin-kpi-number {
  color: #a8b3b9;
  font-size: .65rem;
  font-weight: 820;
  letter-spacing: .12em;
  position: absolute;
  right: 22px;
  top: 20px;
}

.admin-kpi-card > strong {
  display: block;
  font-size: clamp(2.4rem, 4vw, 4.25rem);
  letter-spacing: -.07em;
  line-height: 1;
  margin: 31px 0 25px;
}

.admin-kpi-card h3 {
  font-size: .9rem;
  margin: 0 0 3px;
}

.admin-kpi-card p {
  color: #75858e;
  font-size: .72rem;
  line-height: 1.4;
  margin: 0;
}

.admin-kpi-card > i {
  bottom: 22px;
  color: #9aa7ad;
  font-style: normal;
  position: absolute;
  right: 23px;
}

.admin-tool-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-tool-card {
  align-items: center;
  background: rgb(255 255 255 / 70%);
  border: 1px solid #e3e8eb;
  border-radius: 14px;
  color: #23333d;
  display: grid;
  gap: 13px;
  grid-template-columns: 39px minmax(0, 1fr) 20px;
  min-height: 82px;
  padding: 13px;
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.admin-tool-card > span {
  align-items: center;
  background: #e8f4f4;
  border-radius: 10px;
  color: #356c72;
  display: flex;
  font-size: 1rem;
  height: 39px;
  justify-content: center;
}

.admin-tool-card h3,
.admin-tool-card p {
  margin: 0;
}

.admin-tool-card h3 {
  font-size: .79rem;
}

.admin-tool-card p {
  color: #7a8991;
  font-size: .66rem;
  line-height: 1.35;
  margin-top: 2px;
}

.admin-tool-card i {
  color: #9ba7ad;
  font-style: normal;
  transition: transform 150ms ease;
}

.admin-tool-card:hover,
.admin-tool-card:focus-visible {
  background: #fff;
  border-color: #cbd8dd;
  color: #18242c;
  transform: translateY(-2px);
}

.admin-tool-card:hover i {
  transform: translateX(3px);
}

.admin-import-list {
  background: #fff;
  border: 1px solid #e2e8eb;
  border-radius: 17px;
  overflow: hidden;
}

.admin-import-list > article {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 90px minmax(150px, 1fr) minmax(100px, .7fr) 120px;
  padding: 17px 20px;
}

.admin-import-list > article + article {
  border-top: 1px solid #edf0f2;
}

.admin-import-list h3,
.admin-import-list p {
  margin: 0;
}

.admin-import-list h3 {
  font-size: .78rem;
}

.admin-import-list p,
.admin-import-list strong small {
  color: #819097;
  font-size: .67rem;
  font-weight: 560;
}

.admin-import-list strong {
  font-size: .75rem;
  text-align: right;
}

.admin-import-progress {
  background: #edf1f2;
  border-radius: 999px;
  height: 5px;
  overflow: hidden;
}

.admin-import-progress span {
  background: linear-gradient(90deg, var(--admin-cyan), #75d5a9);
  display: block;
  height: 100%;
  width: var(--progress);
}

.admin-empty-state {
  align-items: center;
  display: flex;
  gap: 15px;
  padding: 28px;
}

.admin-empty-state > span {
  align-items: center;
  background: #e7f6ee;
  border-radius: 50%;
  color: #37845b;
  display: flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.admin-empty-state h3,
.admin-empty-state p {
  margin: 0;
}

.admin-empty-state h3 { font-size: .9rem; }
.admin-empty-state p { color: #7d8a91; font-size: .73rem; }

html[data-theme="dark"] .admin-body {
  --admin-canvas: #101418;
  background: var(--admin-canvas);
  color: #edf2f4;
}

html[data-theme="dark"] .admin-topbar {
  background: rgb(19 24 29 / 88%);
  border-color: #293138;
}

html[data-theme="dark"] .admin-topbar-title strong {
  color: #f3f6f7;
}

html[data-theme="dark"] .admin-theme-switch,
html[data-theme="dark"] .admin-menu-toggle {
  background: #262d33;
}

html[data-theme="dark"] .admin-theme-switch button[aria-pressed="true"] {
  background: #394149;
  color: #fff;
}

html[data-theme="dark"] .admin-view-site {
  border-color: #343e45;
  color: #c5d0d5;
}

html[data-theme="dark"] .admin-main .card {
  background: #191f24;
  border-color: #2b343b;
}

html[data-theme="dark"] .admin-section-heading h2,
html[data-theme="dark"] .admin-section-heading > a,
html[data-theme="dark"] .admin-kpi-card,
html[data-theme="dark"] .admin-tool-card {
  color: #eff4f5;
}

html[data-theme="dark"] .admin-kpi-card,
html[data-theme="dark"] .admin-tool-card,
html[data-theme="dark"] .admin-import-list {
  background: #191f24;
  border-color: #2b353c;
}

html[data-theme="dark"] .admin-kpi-card:hover,
html[data-theme="dark"] .admin-tool-card:hover {
  background: #20282e;
  border-color: #46545c;
  color: #fff;
}

html[data-theme="dark"] .admin-tool-card > span {
  background: #20373a;
  color: #84d7d3;
}

html[data-theme="dark"] .admin-import-list > article + article {
  border-color: #293138;
}

html[data-theme="dark"] .admin-import-progress {
  background: #303940;
}

@media (max-width: 1220px) {
  .admin-kpi-grid,
  .admin-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .admin-app {
    display: block;
  }

  .admin-sidebar {
    box-shadow: 20px 0 60px rgb(0 0 0 / 24%);
    left: 0;
    max-width: min(300px, 88vw);
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    transition: transform 220ms cubic-bezier(.22, .8, .28, 1);
    width: 100%;
  }

  .admin-body.admin-nav-open {
    overflow: hidden;
  }

  .admin-body.admin-nav-open .admin-sidebar {
    transform: translateX(0);
  }

  .admin-body.admin-nav-open .admin-backdrop {
    display: block;
  }

  .admin-sidebar-close,
  .admin-menu-toggle {
    display: block;
  }

  .admin-sidebar-collapse {
    display: none;
  }

  .admin-body.admin-sidebar-collapsed .admin-app {
    display: block;
  }

  .admin-body.admin-sidebar-collapsed .admin-sidebar {
    padding: 22px 16px 16px;
  }

  .admin-body.admin-sidebar-collapsed .admin-brand-row {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
    margin: 0 5px 30px;
  }

  .admin-body.admin-sidebar-collapsed .admin-brand-mark {
    height: 42px;
    width: 42px;
  }

  .admin-body.admin-sidebar-collapsed .admin-sidebar-nav {
    gap: 22px;
  }

  .admin-body.admin-sidebar-collapsed .admin-brand > span:last-child,
  .admin-body.admin-sidebar-collapsed .admin-profile-copy {
    display: grid;
  }

  .admin-body.admin-sidebar-collapsed .admin-nav-group h2 {
    display: block;
  }

  .admin-body.admin-sidebar-collapsed .admin-nav-group a > span {
    display: inline;
  }

  .admin-body.admin-sidebar-collapsed .admin-sidebar-profile > a {
    display: flex;
  }

  .admin-body.admin-sidebar-collapsed .admin-nav-group a {
    justify-content: flex-start;
    padding: 8px 11px;
  }

  .admin-body.admin-sidebar-collapsed .admin-sidebar-profile {
    display: grid;
    justify-content: stretch;
  }

  .admin-dashboard-hero {
    grid-template-columns: minmax(0, 1fr) 220px;
  }
}

@media (max-width: 620px) {
  .admin-topbar {
    min-height: 66px;
    padding-inline: 14px;
  }

  .admin-topbar-title small,
  .admin-view-site,
  .admin-theme-switch button[data-theme-choice="auto"] {
    display: none;
  }

  .admin-theme-switch {
    background: transparent;
  }

  .admin-main {
    padding: 24px 14px 56px;
  }

  .admin-dashboard {
    gap: 48px;
  }

  .admin-dashboard-hero {
    border-radius: 20px;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 34px 24px;
  }

  .admin-dashboard-hero h1 {
    font-size: clamp(2.8rem, 15vw, 4rem);
  }

  .admin-studio-pulse {
    border-top: 1px solid rgb(255 255 255 / 10%);
    grid-template-columns: auto 1fr;
    justify-items: start;
    padding-top: 24px;
    text-align: left;
  }

  .admin-pulse-orbit {
    display: none;
  }

  .admin-studio-pulse p {
    grid-column: 1 / -1;
  }

  .admin-studio-pulse strong {
    margin-right: 10px;
  }

  .admin-studio-pulse small {
    align-self: end;
    margin-bottom: 2px;
  }

  .admin-section-heading {
    align-items: start;
    flex-direction: column;
  }

  .admin-kpi-grid,
  .admin-tool-grid {
    grid-template-columns: 1fr;
  }

  .admin-kpi-card {
    min-height: 210px;
  }

  .admin-import-list > article {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .admin-import-progress,
  .admin-import-list > article > strong {
    grid-column: 2;
    text-align: left;
  }
}

@font-face {
  font-display: swap;
  font-family: "SBL Biblical Literature";
  src: url("/assets/fonts/sbl/sbl_biblical_literature.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "SBL Greek";
  src: url("/assets/fonts/sbl/sbl_greek.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "SBL Hebrew";
  src: url("/assets/fonts/sbl/sbl_hebrew.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Source Serif Pro";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/source-serif-pro/SourceSerifPro-Regular.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Source Serif Pro";
  font-style: normal;
  font-weight: 600;
  src: url("/assets/fonts/source-serif-pro/SourceSerifPro-Semibold.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Source Serif Pro";
  font-style: normal;
  font-weight: 700;
  src: url("/assets/fonts/source-serif-pro/SourceSerifPro-Bold.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Source Serif Pro";
  font-style: italic;
  font-weight: 400;
  src: url("/assets/fonts/source-serif-pro/SourceSerifPro-LightIt.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Source Serif Pro";
  font-style: italic;
  font-weight: 600;
  src: url("/assets/fonts/source-serif-pro/SourceSerifPro-SemiboldIt.otf") format("opentype");
}

html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --color-ink: #f6f7f9;
  --color-muted: #e0c6b6;
  --color-meta: #f0b18d;
  --color-line: #393734;
  --color-paper: #141312;
  --color-surface: rgb(25 27 30 / 86%);
  --color-soft: #25211e;
  --color-soft-blue: #182a33;
  --color-accent: #e18b76;
  --color-accent-dark: #f2a58f;
  --color-button-accent-text: #241411;
  --color-button-accent-hover: #8a3028;
  --color-button-accent-active: #4b1814;
  --color-blue: #2a6078;
  --shadow-soft: 0 18px 46px rgb(0 0 0 / 34%);
}

* {
  box-sizing: border-box;
}

html {
  scrollbar-gutter: stable;
}

body {
  margin: 0;
  padding-bottom: 82px;
  background:
    radial-gradient(circle at top left, rgb(44 132 154 / 24%), transparent 430px),
    radial-gradient(circle at 88% 0, rgb(92 167 177 / 20%), transparent 420px),
    linear-gradient(180deg, rgb(247 251 250 / 88%) 0%, transparent 360px),
    var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.6;
}

/* BEGIN reversible day background: warm editorial paper, light theme only. */
html[data-theme="light"] body,
:root:not([data-theme]) body {
  background:
    radial-gradient(circle at 10% -4%, rgb(255 255 255 / 92%) 0 7%, transparent 29%),
    radial-gradient(ellipse at 92% 4%, rgb(225 139 118 / 13%) 0%, transparent 40%),
    radial-gradient(ellipse at 42% 34%, rgb(255 255 255 / 55%) 0%, transparent 46%),
    linear-gradient(145deg, rgb(247 223 202 / 42%) 0%, transparent 42%),
    linear-gradient(180deg, #fcf8f1 0%, #f8eee4 48%, #fbf8f3 100%),
    #faf4ec;
  background-attachment: fixed;
  background-size: 100% 100%;
}

html[data-theme="light"] .site-footer,
:root:not([data-theme]) .site-footer {
  background:
    radial-gradient(ellipse at 12% 0%, rgb(255 255 255 / 38%) 0%, transparent 38%),
    radial-gradient(ellipse at 90% 18%, rgb(201 111 95 / 15%) 0%, transparent 42%),
    linear-gradient(145deg, #f1e1d1 0%, #ead5c3 52%, #f4e8db 100%);
  background-size: 100% 100%;
  border-top: 1px solid rgb(154 72 61 / 14%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%);
  color: #5b4033;
}
/* END reversible day background. */

h1,
h2,
h3,
h4,
h5,
h6 {
  hyphens: auto;
  max-width: 100%;
  overflow-wrap: break-word;
  text-wrap: balance;
}

a {
  color: var(--color-accent-dark);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--color-accent);
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
main:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent), white 40%);
  outline-offset: 3px;
}

.skip-link {
  background: var(--color-ink);
  border-radius: 0 0 8px 8px;
  color: #fff;
  left: 20px;
  padding: 10px 14px;
  position: fixed;
  top: 0;
  transform: translateY(-120%);
  transition: transform 180ms ease;
  z-index: 100;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-back-top {
  align-items: center;
  backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--color-ink), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--color-surface), transparent 72%);
  border-radius: 8px;
  bottom: 22px;
  box-shadow: 0 16px 36px rgb(23 25 28 / 18%);
  color: var(--color-surface);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.18rem;
  font-weight: 820;
  height: 46px;
  justify-content: center;
  opacity: 0;
  position: fixed;
  right: 22px;
  transform: translateY(10px);
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  visibility: hidden;
  width: 46px;
  z-index: 32;
}

.site-back-top.is-visible {
  opacity: 1;
  transform: none;
  visibility: visible;
}

.site-back-top:hover,
.site-back-top:focus-visible {
  background: var(--color-accent-dark);
  color: #fff;
  transform: translateY(-2px);
}

.site-back-top:active {
  background: var(--color-button-accent-active);
  border-color: var(--color-button-accent-active);
  color: #fff;
  transform: translateY(0) scale(.96);
}

.site-back-top[hidden] {
  display: none;
}

.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.site-header {
  background: transparent;
  padding: 12px max(14px, calc((100vw - 1180px) / 2));
  position: sticky;
  top: 0;
  transform: translateY(0);
  transition: transform 240ms ease;
  z-index: 20;
}

.site-header.is-hidden {
  transform: translateY(-100%);
}

.site-header.has-shadow {
  box-shadow: none;
}

.header-frame {
  align-items: center;
  backdrop-filter: blur(18px);
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 20%);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  padding: 10px 12px;
  position: relative;
}

.site-footer {
  background:
    radial-gradient(circle at 8% 8%, rgb(105 194 223 / 22%), transparent 300px),
    radial-gradient(circle at 92% 10%, rgb(242 143 104 / 16%), transparent 340px),
    linear-gradient(155deg, #f8fcfc 0%, #edf7f8 48%, #e6f0f3 100%);
  border-top: 1px solid rgb(36 95 131 / 14%);
  color: #33454f;
  margin-top: 72px;
  padding: 44px max(20px, calc((100vw - 1120px) / 2)) 24px;
}

.footer-grid {
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(220px, 1.2fr) repeat(3, minmax(150px, 1fr));
  margin-bottom: 32px;
}

.footer-bottom {
  align-items: center;
  border-top: 1px solid rgb(36 95 131 / 16%);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  padding-top: 20px;
}

.footer-logo {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 12px;
  padding: 22px 0 18px;
}

.footer-logo .brand {
  height: auto;
}

.footer-logo img {
  height: 58px;
}

.theme-switcher,
.theme-dock,
.site-dock {
  align-items: center;
  backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  gap: 4px;
  padding: 4px;
}

.theme-switcher button,
.theme-dock button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--color-muted);
  cursor: pointer;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 760;
  height: 36px;
  line-height: 1;
  padding: 0;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  width: 36px;
}

.theme-switcher button:hover,
.theme-switcher button:focus,
.theme-dock button:hover,
.theme-dock button:focus {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 24%);
  color: var(--color-ink);
}

.theme-switcher button:active,
.theme-dock button:active {
  transform: scale(.96);
}

.theme-switcher button[aria-pressed="true"],
.theme-dock button[aria-pressed="true"] {
  background: var(--color-ink);
  color: var(--color-paper);
}

.theme-dock {
  border-radius: 999px;
  box-shadow: 0 12px 34px rgb(23 25 28 / 14%);
  box-shadow: none;
}

.site-dock {
  box-shadow: 0 12px 34px rgb(23 25 28 / 14%);
  flex-wrap: wrap;
  justify-content: center;
  left: 50%;
  max-width: min(92vw, 760px);
  position: fixed;
  bottom: 18px;
  transform: translateX(-50%);
  transition: transform 240ms ease, opacity 240ms ease;
  width: max-content;
  z-index: 18;
}

.site-dock.is-hidden {
  opacity: 0;
  transform: translate(-50%, calc(100% + 32px));
}

.theme-dock button {
  min-width: 0;
}

.footer-brand {
  color: #153f57;
  display: inline-flex;
  font-size: 1.65rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.site-footer h2 {
  color: #245f83;
  font-family: var(--font-sans);
  font-size: .92rem;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.site-footer a {
  color: #244e63;
  font-weight: 650;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #b55243;
}

.site-footer ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.social-links,
.site-footer .social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.social-links a,
.social-link-placeholder {
  align-items: center;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
  transition: background 180ms ease, transform 180ms ease;
}

.site-footer .social-links a,
.site-footer .social-link-placeholder {
  background: rgb(255 255 255 / 54%);
  border-color: rgb(97 64 43 / 18%);
}

.site-footer .social-link-placeholder {
  opacity: .62;
}

.footer-link-button {
  align-items: center;
  border-bottom: 2px solid color-mix(in srgb, var(--color-accent), transparent 35%);
  color: var(--color-accent-dark);
  display: inline-flex;
  font-weight: 860;
  padding: 2px 0 4px;
}

.footer-link-button:hover,
.footer-link-button:focus {
  border-bottom-color: currentColor;
  color: var(--color-blue);
}

.social-links a:hover,
.social-links a:focus {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 22%);
  text-decoration: none;
}

.social-links a:active {
  transform: scale(.94);
}

.site-footer .social-links a:hover,
.site-footer .social-links a:focus {
  background: #6a442f;
  border-color: transparent;
  box-shadow: 0 10px 24px rgb(94 58 37 / 20%);
  text-decoration: none;
  transform: translateY(-2px);
}

.site-footer .social-links a:active {
  background: #4d3021;
  box-shadow: 0 6px 16px rgb(77 48 33 / 22%);
  transform: translateY(0) scale(.95);
}

.site-footer .social-links a:hover .social-logo-dark,
.site-footer .social-links a:focus .social-logo-dark,
.site-footer .social-links a:active .social-logo-dark {
  display: none !important;
}

.site-footer .social-links a:hover .social-logo-light,
.site-footer .social-links a:focus .social-logo-light,
.site-footer .social-links a:active .social-logo-light {
  display: block !important;
}

.social-links img,
.social-link-placeholder img {
  display: block;
  height: 18px;
  object-fit: contain;
  width: 18px;
}

.social-logo-swap {
  display: grid;
  height: 18px;
  place-items: center;
  width: 18px;
}

.social-logo-swap img {
  grid-area: 1 / 1;
}

.social-logo-light {
  display: none !important;
}

html[data-theme="dark"] .social-logo-dark {
  display: none !important;
}

html[data-theme="dark"] .social-logo-light {
  display: block !important;
}

.footer-appearance {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 18px auto 0;
  max-width: min(92vw, 1120px);
  padding-bottom: 22px;
}

.footer-appearance > span {
  color: var(--color-muted);
  font-size: .66rem;
  font-weight: 820;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.footer-theme-options {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 10%);
  border-radius: 999px;
  display: inline-flex;
  gap: 3px;
  padding: 4px;
}

.footer-theme-options button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--color-muted);
  cursor: pointer;
  font: 780 .72rem/1 var(--font-sans);
  min-height: 32px;
  padding: 0 12px;
}

.footer-theme-options button:hover,
.footer-theme-options button:focus-visible {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 24%);
  color: var(--color-ink);
}

.footer-theme-options button[aria-pressed="true"] {
  background: var(--color-ink);
  color: var(--color-paper);
}

.site-nav {
  align-items: center;
  display: flex;
  gap: 20px;
  min-width: 0;
}

.brand {
  align-items: center;
  color: var(--color-ink);
  display: inline-flex;
  flex: 0 0 auto;
  height: 58px;
  justify-content: center;
  padding: 0 8px;
}

.brand img {
  display: block;
  height: 48px;
  object-fit: contain;
  width: auto;
}

.nav-links {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: 7px;
  list-style: none;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.nav-links li {
  align-items: center;
  display: inline-flex;
}

.nav-links a,
.nav-more > button {
  align-items: center;
  border-radius: 999px;
  color: var(--color-ink);
  display: inline-flex;
  font-size: .94rem;
  font-weight: 680;
  min-height: 40px;
  line-height: 1;
  padding: 10px 13px;
  transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
  white-space: nowrap;
}

.nav-more > button {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 4%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff, transparent 78%);
  cursor: pointer;
  font-family: inherit;
  gap: 7px;
  padding-inline: 11px 10px;
}

.nav-links a:hover,
.nav-links a:focus,
.nav-more > button:hover,
.nav-more > button:focus {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 32%);
  text-decoration: none;
}

.nav-links a[aria-current="page"] {
  background: color-mix(in srgb, var(--color-blue), var(--color-ink) 35%);
  box-shadow: 0 10px 22px rgb(23 25 28 / 12%);
  color: #fff;
}

.nav-bible-item {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 44%);
  border: 1px solid color-mix(in srgb, var(--color-accent), var(--color-line) 68%);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff, transparent 72%);
  gap: 2px;
  padding: 3px;
}

.nav-bible-item > a {
  min-height: 34px;
  padding: 7px 10px;
}

.nav-bible-item > a[aria-current="page"] {
  box-shadow: none;
}

.nav-bible-item.is-active > a:first-child {
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 28%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent), transparent 12%);
  color: var(--color-accent-dark);
}

html[data-theme="light"] .nav-bible-item.is-active > a:first-child,
html[data-theme="light"] .nav-bible-item > a:first-child:hover,
html[data-theme="light"] .nav-bible-item > a:first-child:focus-visible {
  background: #e89a86;
  box-shadow: 0 10px 22px rgb(177 84 67 / 18%);
  color: #2d1713;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) .nav-bible-item.is-active > a:first-child,
  :root:not([data-theme]) .nav-bible-item > a:first-child:hover,
  :root:not([data-theme]) .nav-bible-item > a:first-child:focus-visible {
    background: #e89a86;
    box-shadow: 0 10px 22px rgb(177 84 67 / 18%);
    color: #2d1713;
  }
}

html[data-theme="dark"] .nav-bible-item.is-active > a:first-child {
  background: #e89a86;
  box-shadow: 0 10px 22px rgb(232 154 134 / 18%);
  color: #2d1713;
}

.nav-bible-read {
  background: color-mix(in srgb, var(--color-paper), var(--color-surface) 45%);
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 42%);
  color: var(--color-accent-dark) !important;
  font-size: .78rem !important;
  font-weight: 820 !important;
  min-height: 30px !important;
  padding-inline: 9px !important;
}

.nav-bible-read:hover,
.nav-bible-read:focus {
  background: color-mix(in srgb, var(--color-blue), var(--color-ink) 35%) !important;
  border-color: color-mix(in srgb, var(--color-blue), var(--color-ink) 35%);
  color: #fff !important;
}

.nav-bible-read[aria-current="page"] {
  background: color-mix(in srgb, var(--color-blue), var(--color-ink) 35%);
  border-color: color-mix(in srgb, var(--color-blue), var(--color-ink) 35%);
  color: #fff !important;
}

.nav-more {
  position: relative;
}

.nav-more[hidden] {
  display: none;
}

.nav-more > button[aria-expanded="true"] {
  background: color-mix(in srgb, var(--color-blue), var(--color-ink) 35%);
  border-color: transparent;
  color: #fff;
}

.nav-more-dots {
  align-items: center;
  aspect-ratio: 1;
  background: color-mix(in srgb, var(--color-accent), transparent 85%);
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  width: 18px;
}

.nav-more-dots::before {
  background: currentColor;
  border-radius: 999px;
  box-shadow: 5px 0 0 currentColor, -5px 0 0 currentColor;
  content: "";
  height: 3px;
  opacity: .72;
  width: 3px;
}

.nav-more-chevron {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  height: 6px;
  margin-left: 1px;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 140ms ease;
  width: 6px;
}

.nav-more > button[aria-expanded="true"] .nav-more-chevron {
  transform: translateY(1px) rotate(225deg);
}

.nav-more-menu {
  background: color-mix(in srgb, var(--color-surface), transparent 2%);
  border: 1px solid var(--color-line);
  border-radius: 16px 6px 16px 6px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  min-width: 190px;
  opacity: 0;
  padding: 8px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(100% + 9px);
  transform: translateY(-4px);
  transition: opacity 140ms ease, transform 140ms ease;
  z-index: 35;
}

.nav-more.is-open .nav-more-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.nav-more-menu li,
.nav-more-menu a {
  display: flex;
  width: 100%;
}

.nav-more-menu a {
  border-radius: 10px 4px 10px 4px;
  justify-content: space-between;
  padding: 10px 11px;
}

.nav-more-menu .nav-bible-item {
  align-items: stretch;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 4px;
  padding: 0;
}

.nav-more-menu .nav-bible-item > a {
  padding: 10px 11px;
}

.nav-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-ink);
  cursor: pointer;
  display: none;
  height: 42px;
  justify-content: center;
  padding: 0;
  position: relative;
  width: 42px;
}

.nav-toggle span {
  background: currentColor;
  border-radius: 999px;
  height: 2px;
  left: 11px;
  position: absolute;
  transition: transform 180ms ease, opacity 180ms ease;
  width: 18px;
}

.nav-toggle span:nth-child(1) {
  transform: translateY(-6px);
}

.nav-toggle span:nth-child(3) {
  transform: translateY(6px);
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: rotate(-45deg);
}

.site-search {
  align-items: center;
  background: #f7f4f1;
  border: 1px solid transparent;
  border-radius: 999px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  min-height: 48px;
  padding: 4px;
  position: relative;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.site-search:focus-within {
  background: #fff;
  border-color: color-mix(in srgb, var(--color-accent), white 50%);
  box-shadow: 0 0 0 4px rgb(183 53 45 / 10%);
}

.site-search input {
  background: transparent;
  border: 0;
  color: var(--color-ink);
  font: inherit;
  min-height: 40px;
  min-width: 0;
  padding: 0 14px;
}

.site-search input:focus {
  outline: 0;
}

.site-search button {
  align-items: center;
  aspect-ratio: 1;
  background: var(--color-ink);
  border: 0;
  border-radius: 999px;
  color: var(--color-paper);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  transition: background 180ms ease, transform 180ms ease;
}

.site-search button:hover,
.site-search button:focus {
  background: var(--color-accent);
}

.site-search button:active {
  transform: scale(.96);
}

.site-search svg {
  fill: none;
  height: 19px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 19px;
}

.site-search-suggestions {
  background: color-mix(in srgb, var(--color-paper) 96%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ink) 13%, transparent);
  border-radius: 20px;
  box-shadow: 0 22px 60px rgb(31 24 20 / 18%);
  display: grid;
  gap: 3px;
  max-height: min(68vh, 540px);
  overflow-y: auto;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 11px);
  width: min(430px, calc(100vw - 28px));
  z-index: 80;
}

.site-search-suggestions[hidden] {
  display: none;
}

.site-search-suggestion {
  align-items: center;
  border-radius: 13px;
  color: var(--color-ink);
  display: grid;
  gap: 12px;
  grid-template-columns: 86px minmax(0, 1fr);
  padding: 10px;
  text-decoration: none;
  transition: background 160ms ease, transform 160ms ease;
}

.site-search-suggestion:hover,
.site-search-suggestion:focus-visible,
.site-search-suggestion.is-active {
  background: color-mix(in srgb, var(--color-accent) 11%, var(--color-paper));
  outline: 0;
  transform: translateX(2px);
}

.site-search-suggestion-kind {
  border: 1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);
  border-radius: 999px;
  color: var(--color-accent);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  overflow: hidden;
  padding: 6px 8px;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
}

.site-search-suggestion-content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.site-search-suggestion-content strong,
.site-search-suggestion-content span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-search-suggestion-content strong {
  font-size: .9rem;
}

.site-search-suggestion-content span {
  color: var(--color-muted);
  font-size: .75rem;
}

.site-search-all-results {
  border-radius: 12px;
  color: var(--color-accent);
  font-size: .8rem;
  font-weight: 800;
  margin-top: 3px;
  padding: 11px 12px;
  text-align: center;
  text-decoration: none;
}

.site-search-all-results:hover,
.site-search-all-results:focus-visible {
  background: var(--color-ink);
  color: var(--color-paper);
  outline: 0;
}

@media (max-width: 560px) {
  .site-search-suggestion {
    gap: 9px;
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 9px;
  }

  .site-search-suggestion-kind {
    font-size: .6rem;
    padding-inline: 6px;
  }
}

.page-shell {
  margin: 0 auto;
  max-width: 1120px;
  padding: 28px 20px 0;
}

.breadcrumb {
  color: #7b6756;
  font-size: .9rem;
  margin-bottom: 24px;
}

.breadcrumb a {
  color: #8b4c3f;
  font-weight: 650;
  text-decoration-color: transparent;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.breadcrumb a:hover {
  color: var(--color-accent-dark);
  text-decoration-color: currentColor;
}

.breadcrumb a:focus-visible {
  color: var(--color-accent-dark);
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  text-decoration-color: currentColor;
}

.breadcrumb a:active {
  color: var(--color-accent);
  text-decoration-color: currentColor;
}

.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumb li:not(:last-child)::after {
  color: #bd7b69;
  content: "/";
  margin-left: 8px;
}

.breadcrumb [aria-current="page"] {
  color: var(--color-ink);
  font-weight: 760;
}

.hero {
  align-items: stretch;
  background:
    radial-gradient(circle at 88% 18%, rgb(255 255 255 / 46%), transparent 150px),
    linear-gradient(135deg, #69c2df 0%, #f28f68 48%, #ffd18b 100%);
  border-radius: 18px 6px 24px 8px;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr);
  margin-bottom: 42px;
  overflow: hidden;
  padding: clamp(28px, 6vw, 58px);
}

.hero h1,
.hero p {
  color: #17222a;
}

.hero h1 {
  font-size: clamp(3.1rem, 9vw, 6.6rem);
}

.hero .eyebrow {
  color: #7e2e22;
}

.hero .button-secondary {
  background: #183e51;
  border-color: transparent;
  color: #fff;
}

.hero .button-secondary:hover,
.hero .button-secondary:focus {
  background: #102f3e;
  color: #fff;
}

.hero .button:not(.button-secondary) {
  background: #7e2e22;
  color: #fff;
}

.hero .button:not(.button-secondary):hover,
.hero .button:not(.button-secondary):focus {
  background: #572018;
  color: #fff;
}

.hero .button:not(.button-secondary):active {
  background: #3f1612;
  color: #fff;
}

.hero .feature-card {
  background:
    linear-gradient(145deg, rgb(255 255 255 / 84%), rgb(255 224 210 / 74%)),
    var(--color-surface);
  border-color: rgb(255 255 255 / 64%);
}

.hero .feature-card .meta {
  color: var(--color-accent-dark);
  display: block;
  font-size: .78rem;
  font-weight: 820;
  letter-spacing: .08em;
  line-height: 1;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.hero .feature-card h2 {
  color: #17222a;
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
}

.hero .feature-card p {
  color: color-mix(in srgb, #17222a, transparent 12%);
}

.hero .feature-card p:first-of-type:not(.meta) {
  color: color-mix(in srgb, var(--color-blue), var(--color-ink) 12%);
  font-size: 1.08rem;
  font-weight: 860;
}

.hero .feature-card a {
  align-items: center;
  color: #183e51;
  display: inline-flex;
  font-weight: 860;
  margin-top: 8px;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--color-accent), transparent 45%);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.hero .feature-card a:hover,
.hero .feature-card a:focus {
  color: var(--color-accent-dark);
  text-decoration-color: currentColor;
}

.hero-copy {
  display: flex;
  flex-direction: column;
  max-width: 720px;
  min-height: 100%;
}

.hero-copy .cta-actions {
  margin-top: auto;
  padding-top: 26px;
}

.home-feature {
  align-items: end;
  background:
    linear-gradient(90deg, rgb(15 32 42 / 88%), rgb(15 32 42 / 48), rgb(15 32 42 / 12)),
    var(--feature-image);
  background-position: center;
  background-size: cover;
  border-radius: 6px 36px 8px 42px;
  color: #fff;
  display: grid;
  min-height: clamp(320px, 46vw, 520px);
  overflow: hidden;
  padding: clamp(28px, 6vw, 58px);
}

.home-feature > div {
  max-width: 640px;
}

.home-feature .eyebrow,
.home-feature p {
  color: rgb(255 255 255 / 82%);
}

.home-feature h2 {
  color: #fff;
  font-size: clamp(2rem, 5vw, 4.2rem);
  margin-bottom: 14px;
}

.home-feature .button-secondary {
  background: #fff;
  border-color: transparent;
  color: #183e51;
}

.home-feature .button-secondary:hover,
.home-feature .button-secondary:focus {
  background: var(--color-accent);
  color: #fff;
}

.eyebrow {
  color: var(--color-accent);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  font-family: var(--font-sans);
  line-height: 1.15;
}

h1 {
  font-size: clamp(2.15rem, 6vw, 4.2rem);
  font-weight: 820;
  letter-spacing: 0;
  margin: 10px 0 18px;
}

h2 {
  font-size: 2rem;
  font-weight: 780;
  margin-top: 0;
}

.section {
  margin-top: 54px;
}

.grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.contributor-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.contributor-card {
  align-content: start;
}

.contributor-photo {
  aspect-ratio: 1;
  border-radius: 18px 6px 18px 6px;
  display: block;
  margin-bottom: 14px;
  object-fit: cover;
  width: 100%;
}

.contributor-profile {
  display: grid;
  gap: clamp(28px, 5vw, 58px);
  grid-template-columns: minmax(0, 1fr) minmax(220px, 330px);
  max-width: 1080px;
}

.contributor-profile .section {
  grid-column: 1 / -1;
}

.contributor-profile-intro {
  align-self: center;
}

.contributor-profile-intro h1 {
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  letter-spacing: -.065em;
  line-height: .9;
}

.contributor-profile-intro > p:not(.eyebrow) {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 28%);
  font-size: clamp(1.05rem, 1.7vw, 1.24rem);
  line-height: 1.75;
  max-width: 680px;
}

.contributor-profile-intro > p a {
  color: var(--color-accent-dark);
  font-weight: 820;
  text-decoration-color: color-mix(in srgb, var(--color-accent), transparent 50%);
  text-underline-offset: 4px;
}

.contributor-profile-visual {
  align-self: start;
  background:
    radial-gradient(circle at 16% 14%, color-mix(in srgb, var(--color-accent), transparent 72%), transparent 9rem),
    color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 50%);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 18%);
  border-radius: 28px 8px 30px 8px;
  box-shadow: 0 26px 58px rgb(22 34 44 / 12%);
  display: grid;
  min-height: 300px;
  padding: clamp(12px, 2.5vw, 18px);
  place-items: center;
}

.contributor-profile-visual > span {
  color: var(--color-accent-dark);
  font-size: clamp(6rem, 12vw, 10rem);
  font-weight: 850;
  letter-spacing: -.08em;
  line-height: .8;
}

.contributor-photo-large {
  border-radius: 20px 6px 22px 6px;
  box-shadow: 0 18px 36px rgb(22 34 44 / 18%);
  margin: 0;
}

.contributor-content-section {
  display: grid;
  gap: 26px;
}

.contributor-content-grid {
  display: grid;
  gap: 16px;
}

.contributor-content-card {
  align-items: stretch;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface) 92%, var(--color-paper)), color-mix(in srgb, var(--color-soft-blue) 34%, var(--color-surface)));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 14%);
  border-radius: 22px 7px 22px 7px;
  box-shadow: 0 18px 42px rgb(23 25 28 / 7%);
  display: grid;
  gap: clamp(18px, 3vw, 30px);
  grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) auto;
  min-height: 210px;
  overflow: hidden;
  padding: 12px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.contributor-content-card:hover,
.contributor-content-card:focus-within {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 42%);
  box-shadow: 0 26px 62px rgb(73 47 35 / 12%);
  transform: translateY(-3px);
}

.contributor-content-image {
  border-radius: 16px 5px 16px 5px;
  display: block;
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

.contributor-content-image::after {
  background: linear-gradient(105deg, transparent 0 38%, rgb(255 255 255 / 34%) 48%, transparent 58% 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-130%);
  transition: transform 650ms cubic-bezier(.2,.8,.2,1);
}

.contributor-content-image:hover::after,
.contributor-content-image:focus-visible::after {
  transform: translateX(130%);
}

.contributor-content-image img {
  filter: saturate(.98) contrast(1.02);
  height: 100%;
  object-fit: cover;
  transition: filter 260ms ease, transform 650ms cubic-bezier(.2,.8,.2,1);
  width: 100%;
}

.contributor-content-image:hover img,
.contributor-content-image:focus-visible img {
  filter: saturate(1.06) contrast(1.05);
  transform: scale(1.035);
}

.contributor-content-body {
  align-self: center;
  min-width: 0;
  padding: clamp(12px, 2vw, 22px) 0;
}

.contributor-content-body h3 {
  font-size: clamp(1.45rem, 3vw, 2.45rem);
  letter-spacing: -.048em;
  line-height: 1;
  margin: 10px 0 14px;
}

.contributor-content-body h3 a {
  color: var(--color-ink);
  text-decoration: none;
  transition: color 160ms ease;
}

.contributor-content-body h3 a:hover,
.contributor-content-body h3 a:focus-visible {
  color: var(--color-accent-dark);
  outline: 0;
}

.contributor-content-body h3 a:active {
  color: var(--color-blue);
}

.contributor-content-body > p:not(.meta) {
  color: var(--color-muted);
  display: -webkit-box;
  line-height: 1.72;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.contributor-content-action {
  align-items: center;
  align-self: end;
  background: var(--color-ink);
  border: 1px solid var(--color-ink);
  border-radius: 999px;
  color: var(--color-paper);
  display: inline-flex;
  font-size: .72rem;
  font-weight: 860;
  gap: 8px;
  justify-self: end;
  margin: 0 4px 4px 0;
  min-height: 42px;
  padding: 0 14px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.contributor-content-action b {
  color: #f2b696;
  font-size: 1rem;
  transition: color 160ms ease, transform 160ms ease;
}

.contributor-content-action:hover,
.contributor-content-action:focus-visible {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: #fff;
  outline: 0;
  transform: translateY(-2px);
}

.contributor-content-action:hover b,
.contributor-content-action:focus-visible b {
  color: #fffaf5;
  transform: translateX(4px);
}

.contributor-content-action:active {
  background: var(--color-button-accent-active);
  border-color: var(--color-button-accent-active);
  transform: scale(.97);
}

.share-panel {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface), transparent 3%);
  border: 1px solid var(--color-line);
  border-radius: 18px 7px 18px 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  justify-content: space-between;
  margin: 28px 0;
  padding: 16px 18px;
}

.share-panel h2,
.share-panel p {
  margin-bottom: 0;
}

.share-panel-compact {
  align-items: flex-start;
  display: grid;
  justify-content: stretch;
  margin-bottom: 0;
}

.article-share-panel {
  margin: 30px 0;
}

.article-share-panel h2 {
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  letter-spacing: -.035em;
}

.share-title {
  color: var(--color-muted);
  font-size: .78rem;
  font-weight: 820;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.share-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.share-actions > a,
.share-copy-button {
  align-items: center;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-ink);
  display: inline-flex;
  font: inherit;
  font-size: .84rem;
  font-weight: 820;
  height: 40px;
  justify-content: center;
  min-width: 40px;
  padding: 0 11px;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 90ms ease;
}

.share-actions > a:hover,
.share-actions > a:focus-visible,
.share-copy-button:hover,
.share-copy-button:focus-visible {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-paper);
  transform: translateY(-1px);
}

.share-actions > a:active,
.share-copy-button:active {
  transform: translateY(1px) scale(.96);
}

.share-actions img {
  filter: none;
  height: 19px;
  object-fit: contain;
  width: 19px;
}

.share-actions > .share-network-icon {
  background: #fff;
  border-color: var(--color-line);
}

html[data-theme="dark"] .share-actions > .share-network-icon:not(:hover):not(:focus-visible):not(:active) {
  background: rgb(255 255 255 / 10%);
  border-color: rgb(255 255 255 / 16%);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .share-actions > .share-network-icon:not(:hover):not(:focus-visible):not(:active) {
    background: rgb(255 255 255 / 10%);
    border-color: rgb(255 255 255 / 16%);
  }
}

.share-actions > .share-network-icon:hover,
.share-actions > .share-network-icon:focus-visible {
  background: #6a442f;
  border-color: #6a442f;
}

.share-actions > .share-network-icon:active {
  background: #4d3021;
  border-color: #4d3021;
}

.share-actions > .share-network-icon:hover .social-logo-dark,
.share-actions > .share-network-icon:focus-visible .social-logo-dark,
.share-actions > .share-network-icon:active .social-logo-dark {
  display: none !important;
}

.share-actions > .share-network-icon:hover .social-logo-light,
.share-actions > .share-network-icon:focus-visible .social-logo-light,
.share-actions > .share-network-icon:active .social-logo-light {
  display: block !important;
}

.share-text-icon {
  font-family: var(--font-sans);
  font-size: .95rem !important;
}

.share-copy-button {
  cursor: pointer;
  gap: 6px;
}

.card {
  border: 1px solid var(--color-line);
  border-radius: 14px 7px 18px 7px;
  background: var(--color-surface);
  padding: 20px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.card:hover {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 60%);
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.feature-card {
  align-self: stretch;
  box-shadow: var(--shadow-soft);
}

.meta {
  color: var(--color-meta);
  font-size: .9rem;
}

.button {
  align-items: center;
  background: var(--color-accent);
  border: 0;
  border-radius: 999px;
  color: var(--color-button-accent-text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 700;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  overflow: hidden;
  position: relative;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.button:hover,
.button:focus {
  background: var(--color-button-accent-hover);
  box-shadow: 0 13px 28px rgb(67 23 19 / 24%);
  color: #fff;
  text-decoration: none;
}

.button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent) 48%, transparent);
  outline-offset: 3px;
}

.button:active {
  background: var(--color-button-accent-active);
  box-shadow: inset 0 3px 7px rgb(0 0 0 / 38%), 0 3px 8px rgb(23 25 28 / 18%);
  color: #fff;
  transform: translateY(1px) scale(.96);
}

.button-secondary {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  color: var(--color-ink);
}

.button-secondary:hover,
.button-secondary:focus {
  background: var(--color-soft);
  color: var(--color-ink);
}

.button-secondary:active {
  background: color-mix(in srgb, var(--color-ink) 12%, var(--color-paper));
  border-color: color-mix(in srgb, var(--color-ink) 28%, var(--color-line));
  color: var(--color-ink);
}

.cta-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.form-stack {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.form-stack .button[type="submit"] {
  justify-self: start;
  width: auto;
}

.form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.form-stack label {
  color: var(--color-ink);
  display: grid;
  font-weight: 700;
  gap: 6px;
}

.form-stack input[type="email"],
.form-stack input[type="number"],
.form-stack input[type="password"],
.form-stack input[type="text"],
.form-stack input[type="datetime-local"],
.form-stack input[type="file"],
.form-stack input[type="url"],
.form-stack select,
.form-stack textarea {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 6px;
  color: var(--color-ink);
  font: inherit;
  min-height: 44px;
  padding: 8px 10px;
}

.form-help {
  color: var(--color-muted);
  font-size: .9rem;
  margin: 0;
}

.form-help-after {
  margin-top: -12px;
}

.captcha-field span {
  color: var(--color-muted);
  font-size: .9rem;
  font-weight: 600;
}

.form-stack input[type="checkbox"],
.form-stack input[type="radio"],
.version-choice input[type="checkbox"] {
  appearance: none;
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 35%);
  border: 1.5px solid color-mix(in srgb, var(--color-line), var(--color-ink) 18%);
  box-shadow: inset 0 0 0 3px transparent;
  cursor: pointer;
  flex: 0 0 auto;
  height: 20px;
  margin: 0;
  position: relative;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 120ms ease;
  width: 20px;
}

.form-stack input[type="checkbox"],
.version-choice input[type="checkbox"] {
  border-radius: 6px;
}

.form-stack input[type="radio"] {
  border-radius: 50%;
}

.form-stack input[type="checkbox"]::after,
.version-choice input[type="checkbox"]::after {
  border: solid #fff;
  border-width: 0 2px 2px 0;
  content: "";
  height: 9px;
  left: 6px;
  opacity: 0;
  position: absolute;
  top: 3px;
  transform: rotate(45deg) scale(.65);
  transition: opacity 120ms ease, transform 120ms ease;
  width: 5px;
}

.form-stack input[type="checkbox"]:checked,
.version-choice input[type="checkbox"]:checked,
.form-stack input[type="radio"]:checked {
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: inset 0 0 0 3px var(--color-accent);
}

.form-stack input[type="checkbox"]:checked::after,
.version-choice input[type="checkbox"]:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.form-stack input[type="radio"]:checked {
  background: var(--color-paper);
  box-shadow: inset 0 0 0 5px var(--color-accent);
}

.form-stack input[type="checkbox"]:hover,
.version-choice input[type="checkbox"]:hover,
.form-stack input[type="radio"]:hover {
  border-color: var(--color-accent);
  transform: translateY(-1px);
}

.form-stack input[type="checkbox"]:active,
.version-choice input[type="checkbox"]:active,
.form-stack input[type="radio"]:active {
  transform: scale(.88);
}

.form-stack input[type="checkbox"]:focus-visible,
.version-choice input[type="checkbox"]:focus-visible,
.form-stack input[type="radio"]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent), transparent 62%);
  outline-offset: 3px;
}

.form-stack textarea {
  min-height: 112px;
  resize: vertical;
}

.fieldset {
  border: 1px solid var(--color-line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 16px;
}

.fieldset legend {
  font-weight: 700;
  padding: 0 6px;
}

.amount-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.amount-option {
  display: block;
}

.amount-option input {
  position: absolute;
  opacity: 0;
}

.amount-option span {
  align-items: center;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  display: flex;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
}

.amount-option input:checked + span {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: #fff;
}

.checkbox-row {
  align-items: start;
  display: grid;
  font-weight: 400;
  gap: 10px;
  grid-template-columns: 18px minmax(0, 1fr);
}

.hidden-field {
  left: -10000px;
  position: absolute;
  top: auto;
}

.notice {
  border-radius: 6px;
  padding: 12px 14px;
}

.notice-error {
  background: #fbe9e7;
  color: #8b1d18;
}

.notice-success {
  background: #e8f4ee;
  color: #1f6b43;
}

.auth-body {
  align-items: center;
  background:
    linear-gradient(90deg, rgb(13 30 38 / 72%), rgb(13 30 38 / 10)),
    var(--color-paper);
  display: flex;
  min-height: 100vh;
  padding: 24px;
}

.auth-shell {
  margin: 0 auto;
  max-width: 1120px;
  width: 100%;
}

.auth-card {
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 20%);
  border-radius: 22px 8px 26px 8px;
  box-shadow: var(--shadow-soft);
  display: grid;
  grid-template-columns: minmax(340px, .95fr) minmax(320px, .75fr);
  min-height: min(720px, calc(100vh - 48px));
  overflow: hidden;
}

.auth-visual {
  background:
    linear-gradient(145deg, rgb(13 30 38 / 78%), rgb(13 30 38 / 22)),
    url("/assets/images/articles/connaitre-dieu-personnellement.jpg");
  background-position: center;
  background-size: cover;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  padding: clamp(28px, 5vw, 54px);
}

.auth-logo {
  align-items: center;
  background: rgb(255 255 255 / 86%);
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  padding: 8px 16px;
  width: max-content;
}

.auth-logo img {
  display: block;
  height: 48px;
  object-fit: contain;
  width: auto;
}

.auth-visual h1 {
  color: #fff;
  font-size: clamp(2.4rem, 6vw, 5.3rem);
  margin-bottom: 18px;
  max-width: 680px;
}

.auth-visual p {
  color: rgb(255 255 255 / 82%);
  max-width: 560px;
}

.auth-visual .eyebrow {
  color: #ffd18b;
}

.auth-panel {
  align-content: center;
  display: grid;
  gap: 20px;
  padding: clamp(24px, 5vw, 54px);
}

.auth-panel h2 {
  font-size: 2.2rem;
  margin-bottom: 0;
}

.auth-panel .form-stack {
  margin-top: 0;
}

.auth-panel .button {
  justify-content: center;
  width: 100%;
}

.otp-input {
  font-size: 1.35rem !important;
  font-variant-numeric: tabular-nums;
  font-weight: 850 !important;
  letter-spacing: .5em;
  max-width: 260px;
  text-align: center;
}

.auth-back-link {
  color: var(--color-muted);
  font-weight: 700;
  justify-self: start;
}

.auth-alternative {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 42%);
  border: 1px solid var(--color-line);
  border-radius: 14px 7px 14px 7px;
  padding: 14px 16px;
}

.auth-alternative summary {
  align-items: center;
  color: var(--color-ink);
  cursor: pointer;
  display: flex;
  font-weight: 820;
  gap: 10px;
  list-style: none;
}

.auth-alternative summary::-webkit-details-marker {
  display: none;
}

.auth-alternative summary::before {
  align-items: center;
  background: color-mix(in srgb, var(--color-accent), transparent 86%);
  border-radius: 50%;
  color: var(--color-accent-dark);
  content: "›";
  display: inline-flex;
  flex: 0 0 24px;
  font-size: 1.2rem;
  height: 24px;
  justify-content: center;
  line-height: 0;
  padding-bottom: 2px;
  text-indent: 1px;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  width: 24px;
}

.auth-alternative[open] summary::before {
  padding-bottom: 0;
  padding-left: 2px;
  transform: rotate(90deg);
}

.auth-alternative > p {
  color: var(--color-muted);
  font-size: .9rem;
  margin: 12px 0 16px;
}

.auth-divider {
  align-items: center;
  color: var(--color-muted);
  display: grid;
  font-size: .86rem;
  gap: 12px;
  grid-template-columns: 1fr auto 1fr;
  text-transform: uppercase;
}

.auth-divider::before,
.auth-divider::after {
  background: var(--color-line);
  content: "";
  height: 1px;
}

html[data-theme="light"] .auth-body {
  background:
    radial-gradient(circle at 9% 14%, rgb(105 194 223 / 30%), transparent 31rem),
    radial-gradient(circle at 92% 88%, rgb(242 143 104 / 25%), transparent 29rem),
    linear-gradient(135deg, #f7fcfd 0%, #fff9f2 54%, #f9f2f4 100%);
  overflow: hidden;
  position: relative;
}

html.auth-document[data-theme="light"] {
  overflow-x: clip;
}

html[data-theme="light"] .auth-body::before,
html[data-theme="light"] .auth-body::after {
  border: 1px solid rgb(36 95 131 / 12%);
  border-radius: 42% 58% 56% 44%;
  content: "";
  pointer-events: none;
  position: absolute;
  transform: rotate(18deg);
}

html[data-theme="light"] .auth-body::before {
  background: linear-gradient(145deg, rgb(105 194 223 / 12%), rgb(255 255 255 / 8%));
  height: 26rem;
  left: -12rem;
  top: -11rem;
  width: 30rem;
}

html[data-theme="light"] .auth-body::after {
  background: linear-gradient(145deg, rgb(242 143 104 / 10%), rgb(255 209 139 / 12%));
  bottom: -15rem;
  height: 32rem;
  right: -12rem;
  width: 34rem;
}

html[data-theme="light"] .auth-shell {
  position: relative;
  z-index: 1;
}

html[data-theme="light"] .auth-card {
  background: rgb(255 255 255 / 76%);
  border-color: rgb(255 255 255 / 90%);
  border-radius: 30px 10px 30px 10px;
  box-shadow:
    0 34px 80px rgb(33 65 78 / 16%),
    0 3px 12px rgb(33 65 78 / 8%);
}

html[data-theme="light"] .auth-visual {
  background:
    radial-gradient(circle at 76% 18%, rgb(255 209 139 / 56%), transparent 15rem),
    linear-gradient(145deg, rgb(24 62 81 / 78%), rgb(36 95 131 / 56) 48%, rgb(201 111 95 / 50%)),
    url("/assets/images/articles/connaitre-dieu-personnellement.jpg");
  background-position: center;
  background-size: cover;
  position: relative;
}

html[data-theme="light"] .auth-visual::after {
  border: 1px solid rgb(255 255 255 / 32%);
  border-radius: 50%;
  content: "";
  height: 170px;
  pointer-events: none;
  position: absolute;
  right: -48px;
  top: 34%;
  width: 170px;
}

html[data-theme="light"] .auth-logo {
  backdrop-filter: blur(14px);
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 12px 30px rgb(18 49 63 / 16%);
}

html[data-theme="light"] .auth-panel {
  background:
    radial-gradient(circle at 100% 0, rgb(105 194 223 / 10%), transparent 16rem),
    linear-gradient(155deg, rgb(255 255 255 / 94%), rgb(249 252 252 / 82%));
}

html[data-theme="light"] .auth-panel h2 {
  color: #17222a;
  letter-spacing: -.035em;
}

html[data-theme="light"] .auth-panel .form-stack input:not([type="hidden"]) {
  background: rgb(255 255 255 / 92%);
  border-color: rgb(36 95 131 / 20%);
  border-radius: 12px 5px 12px 5px;
  box-shadow: inset 0 1px 2px rgb(23 25 28 / 3%);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

html[data-theme="light"] .auth-panel .form-stack input:not([type="hidden"]):focus {
  border-color: #4b9fbb;
  box-shadow: 0 0 0 4px rgb(105 194 223 / 18%);
  outline: none;
  transform: translateY(-1px);
}

html[data-theme="light"] .auth-panel .button {
  background: linear-gradient(135deg, #b95446, #d77d68);
  box-shadow: 0 10px 22px rgb(185 84 70 / 20%);
}

html[data-theme="light"] .auth-panel .button:hover,
html[data-theme="light"] .auth-panel .button:focus {
  background: linear-gradient(135deg, #923f35, #bd5d4d);
  box-shadow: 0 14px 28px rgb(146 63 53 / 24%);
  color: #fff;
  transform: translateY(-2px);
}

html[data-theme="light"] .auth-panel .button:active {
  box-shadow: 0 6px 14px rgb(146 63 53 / 20%);
  transform: translateY(0) scale(.96);
}

html[data-theme="light"] .auth-alternative {
  background: linear-gradient(135deg, rgb(224 246 251 / 88%), rgb(255 255 255 / 76%));
  border-color: rgb(36 95 131 / 17%);
  box-shadow: 0 10px 28px rgb(36 95 131 / 7%);
}

html[data-theme="light"] .auth-alternative summary:hover::before,
html[data-theme="light"] .auth-alternative summary:focus::before {
  background: #245f83;
  color: #fff;
}

.otp-boxes {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(6, minmax(34px, 1fr));
}

.otp-box {
  aspect-ratio: 1;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 8px;
  color: var(--color-ink);
  font: inherit;
  font-size: 1.25rem;
  font-weight: 820;
  text-align: center;
}

.otp-box:focus {
  border-color: var(--color-accent);
  outline: 3px solid color-mix(in srgb, var(--color-accent), transparent 72%);
}

.admin-workspace-bar {
  display: grid;
  gap: 10px;
  margin-bottom: 26px;
}

.admin-workspace-nav {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface), transparent 3%);
  border: 1px solid var(--color-line);
  border-radius: 14px 5px 14px 5px;
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding: 7px;
  scrollbar-width: thin;
}

.admin-workspace-nav a {
  border-radius: 8px;
  color: var(--color-muted);
  flex: 0 0 auto;
  font-size: .82rem;
  font-weight: 790;
  padding: 7px 10px;
}

.admin-workspace-nav a:hover,
.admin-workspace-nav a:focus-visible {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 56%);
  color: var(--color-blue);
}

.admin-workspace-nav a[aria-current="page"] {
  background: var(--color-ink);
  color: var(--color-paper);
}

.admin-session-bar {
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  margin: 0 0 0 auto;
  padding: 8px 10px 8px 16px;
  width: max-content;
}

.admin-session-bar span {
  color: var(--color-muted);
  font-size: .9rem;
  font-weight: 720;
}

.admin-session-bar a,
.admin-session-bar button {
  background: transparent;
  border: 0;
  color: var(--color-accent-dark);
  cursor: pointer;
  font: inherit;
  font-weight: 760;
  padding: 4px 8px;
}

.admin-session-bar form {
  margin: 0;
}

.security-grid {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
}

.secret-box {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 22%);
  border: 1px solid var(--color-line);
  border-radius: 8px;
  margin-top: 14px;
  padding: 14px;
}

.secret-box code {
  color: var(--color-ink);
  display: block;
  overflow-wrap: anywhere;
}

.recovery-code-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  list-style: none;
  margin: 20px 0;
  padding: 0;
}

.recovery-code-list code {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 35%);
  border: 1px solid var(--color-line);
  border-radius: 8px;
  display: block;
  font-size: .95rem;
  letter-spacing: .08em;
  padding: 10px 12px;
  text-align: center;
}

.segmented-control-form {
  background: transparent;
  border: 0;
  justify-content: start;
  padding: 0;
}

.segmented-control-form label {
  align-items: center;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 760;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
}

.book-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.library-hero {
  align-items: stretch;
  background:
    radial-gradient(circle at 8% 12%, rgb(105 194 223 / 24%), transparent 23rem),
    linear-gradient(135deg, #f8fcfc 0%, #f9f4ee 100%);
  border: 1px solid rgb(36 95 131 / 14%);
  border-radius: 28px 9px 32px 10px;
  box-shadow: 0 24px 56px rgb(30 66 82 / 12%);
  display: grid;
  gap: clamp(30px, 5vw, 68px);
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  overflow: hidden;
  padding: clamp(30px, 6vw, 68px);
  position: relative;
}

.library-hero::after {
  border: 1px solid rgb(201 111 95 / 18%);
  border-radius: 50%;
  bottom: -150px;
  content: "";
  height: 310px;
  left: -120px;
  pointer-events: none;
  position: absolute;
  width: 310px;
}

.library-hero-copy {
  align-self: center;
  position: relative;
  z-index: 1;
}

.library-hero-copy h1 {
  color: #17222a;
  font-size: clamp(3.2rem, 7vw, 6.3rem);
  letter-spacing: -.055em;
  line-height: .92;
}

.library-hero-copy > p:not(.eyebrow) {
  color: #4d6069;
  font-size: 1.08rem;
  max-width: 560px;
}

.library-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
}

.library-benefits li {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgb(255 255 255 / 72%);
  border: 1px solid rgb(36 95 131 / 16%);
  border-radius: 999px;
  color: #334a56;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 740;
  gap: 7px;
  padding: 7px 10px;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 140ms ease;
}

.library-benefits li span {
  color: #a84e41;
  font-weight: 900;
}

.library-benefits li:hover {
  background: #fff;
  border-color: rgb(201 111 95 / 28%);
  box-shadow: 0 10px 22px rgb(30 66 82 / 10%);
  transform: translateY(-2px);
}

.library-featured-book {
  align-items: center;
  background: #132331;
  border-radius: 24px 7px 26px 8px;
  border: 1px solid rgb(255 255 255 / 18%);
  box-shadow: 0 24px 48px rgb(17 54 70 / 22%);
  color: #fff;
  display: grid;
  gap: clamp(22px, 4vw, 38px);
  grid-template-columns: minmax(150px, .72fr) minmax(0, 1fr);
  overflow: hidden;
  padding: clamp(22px, 4vw, 38px);
  position: relative;
  isolation: isolate;
}

.library-featured-book::before {
  background: var(--featured-cover) center 42% / cover no-repeat;
  content: "";
  filter: blur(18px) saturate(1.22) contrast(1.04);
  inset: -34px;
  opacity: .72;
  position: absolute;
  transform: scale(1.1);
  z-index: -2;
}

.library-featured-book::after {
  background:
    radial-gradient(circle at 18% 22%, rgb(133 201 235 / 24%), transparent 15rem),
    linear-gradient(105deg, rgb(9 18 30 / 46%), rgb(9 18 30 / 84%) 72%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.library-featured-cover {
  align-self: center;
  display: grid;
  min-height: 340px;
  place-items: center;
  position: relative;
}

.library-featured-cover a {
  backdrop-filter: blur(16px) saturate(1.2);
  background: rgb(255 255 255 / 14%);
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 18px;
  box-shadow: 0 24px 48px rgb(4 12 24 / 38%), inset 0 1px 0 rgb(255 255 255 / 28%);
  display: block;
  padding: 14px;
  position: relative;
  transform: none;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  width: min(100%, 230px);
  z-index: 1;
}

.library-featured-cover a:hover,
.library-featured-cover a:focus {
  background: rgb(255 255 255 / 20%);
  border-color: rgb(255 255 255 / 56%);
  box-shadow: 0 30px 56px rgb(4 12 24 / 46%), inset 0 1px 0 rgb(255 255 255 / 38%);
  transform: translateY(-5px);
}

.library-featured-cover a:active {
  box-shadow: 0 16px 30px rgb(4 12 24 / 36%), inset 0 1px 0 rgb(255 255 255 / 26%);
  transform: translateY(0) scale(.97);
}

.library-featured-cover img {
  border-radius: 8px;
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.library-featured-copy {
  position: relative;
  z-index: 1;
}

.library-featured-copy .eyebrow {
  color: #ffd18b;
}

.library-featured-copy h2 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.45rem);
  letter-spacing: -.045em;
  line-height: 1;
  margin-bottom: 8px;
}

.library-featured-copy p {
  color: rgb(255 255 255 / 78%);
}

.library-featured-copy .byline {
  color: #ffd18b;
  font-weight: 800;
}

.library-book-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.library-book-meta span {
  background: rgb(255 255 255 / 12%);
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 999px;
  color: rgb(255 255 255 / 84%);
  font-size: .76rem;
  font-weight: 800;
  padding: 6px 9px;
}

.library-download {
  border: 2px solid #ffd18b;
  background: #ffd18b;
  color: #17222a;
  box-shadow: 0 12px 26px rgb(255 209 139 / 20%);
}

.library-download:hover,
.library-download:focus {
  background: #fff;
  border-color: #fff;
  box-shadow: 0 16px 34px rgb(255 255 255 / 18%);
  color: #17222a;
  transform: translateY(-2px);
}

.library-download:active {
  background: #f4bd67;
  border-color: #f4bd67;
  transform: translateY(0) scale(.96);
}

.library-details-link {
  align-items: center;
  color: inherit;
  display: inline-flex;
  font-weight: 820;
  gap: 8px;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor, transparent 58%);
  text-underline-offset: 5px;
}

.library-details-link span {
  transition: transform 160ms ease;
}

.library-details-link:hover,
.library-details-link:focus {
  color: #ffd18b;
}

.library-details-link:hover span,
.library-details-link:focus span {
  transform: translateX(4px);
}

.library-details-link:active {
  color: #f4bd67;
  transform: scale(.97);
}

.library-coming-soon {
  align-self: center;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 22px 8px 24px 8px;
  padding: clamp(26px, 5vw, 48px);
}

.library-values .section-heading {
  max-width: 780px;
}

.library-value-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 26px;
}

.library-value-grid article {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 18px 6px 20px 6px;
  min-height: 210px;
  padding: 24px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.library-value-grid article:hover {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 38%);
  box-shadow: 0 16px 34px rgb(36 95 131 / 10%);
  transform: translateY(-3px);
}

.library-value-grid article > span {
  color: var(--color-accent-dark);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.library-value-grid h3 {
  font-size: 1.5rem;
  margin: 24px 0 8px;
}

.library-value-grid p {
  color: var(--color-muted);
  margin-bottom: 0;
}

.library-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.library-card {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 18px 6px 20px 6px;
  display: grid;
  gap: 18px;
  grid-template-columns: 120px minmax(0, 1fr);
  isolation: isolate;
  overflow: hidden;
  padding: 18px;
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.library-card::before {
  background: var(--book-card-cover) center 38% / cover no-repeat;
  content: "";
  filter: blur(18px) saturate(1.15);
  inset: 0;
  opacity: .18;
  position: absolute;
  transition: opacity 180ms ease, filter 260ms ease;
  z-index: -2;
}

.library-card::after {
  background: linear-gradient(105deg, color-mix(in srgb, var(--color-surface), transparent 7%), var(--color-surface) 72%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.library-card:hover,
.library-card:focus-within {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 42%);
  box-shadow: 0 20px 42px rgb(23 48 64 / 16%);
  transform: translateY(-4px);
}

.library-card:hover::before,
.library-card:focus-within::before {
  filter: blur(18px) saturate(1.26) contrast(1.04);
  opacity: .28;
}

.library-card-cover {
  align-self: start;
  backdrop-filter: blur(12px);
  background: color-mix(in srgb, var(--color-surface), transparent 42%);
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 72%);
  border-radius: 12px;
  box-shadow: 0 12px 24px rgb(16 34 45 / 18%);
  display: block;
  padding: 8px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.library-card-cover img {
  border-radius: 6px;
  display: block;
  height: auto;
  object-fit: contain;
  transition: transform 220ms ease;
  width: 100%;
}

.library-card:hover .library-card-cover,
.library-card:focus-within .library-card-cover {
  border-color: color-mix(in srgb, var(--color-blue), transparent 48%);
  box-shadow: 0 18px 30px rgb(16 34 45 / 24%);
  transform: translateY(-2px);
}

.library-card:hover .library-card-cover img,
.library-card:focus-within .library-card-cover img {
  transform: scale(1.025);
}

.library-card h3 {
  font-size: 1.3rem;
  margin: 8px 0;
  min-width: 0;
}

.library-card p {
  color: var(--color-muted);
  font-size: .92rem;
  min-width: 0;
}

.library-card .library-card-author {
  color: var(--color-accent-dark);
  font-weight: 780;
  margin: -3px 0 8px;
}

.library-card .library-details-link:hover,
.library-card .library-details-link:focus-visible {
  color: var(--color-accent-dark);
}

.book-related-grid {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}

.book-related-section {
  border-top: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 16%);
  display: grid;
  gap: clamp(28px, 5vw, 60px);
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  margin-top: clamp(52px, 8vw, 100px);
  padding-top: clamp(36px, 6vw, 70px);
}

.book-related-section > header {
  align-self: start;
  position: sticky;
  top: 110px;
}

.book-related-section > header h2 {
  font-size: clamp(2.3rem, 5vw, 4.6rem);
  letter-spacing: -.055em;
  line-height: .92;
  margin: 10px 0 20px;
}

.book-related-section > header > p:last-child {
  color: var(--color-muted);
  line-height: 1.65;
  max-width: 330px;
}

.book-related-section .book-related-grid {
  margin-top: 0;
}

.book-conversation-card {
  align-items: center;
  background:
    radial-gradient(circle at 14% 28%, color-mix(in srgb, var(--color-blue), transparent 68%), transparent 29%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--color-accent), transparent 84%), transparent 25%),
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface), #102331 34%), color-mix(in srgb, var(--color-surface), #070d12 24%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 18%);
  border-radius: 24px 7px 24px 7px;
  box-shadow: 0 24px 54px rgb(10 21 29 / 14%);
  color: var(--color-text);
  display: grid;
  gap: clamp(26px, 5vw, 54px);
  grid-template-columns: clamp(125px, 16vw, 180px) minmax(0, 1fr);
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
  position: relative;
  text-decoration: none;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.book-conversation-card::after {
  background: var(--color-accent);
  bottom: -1px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transition: width 420ms cubic-bezier(.2,.8,.2,1);
  width: 72px;
}

.book-conversation-card figure {
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 8px 3px 8px 3px;
  box-shadow: 0 22px 42px rgb(10 21 29 / 24%);
  margin: 0;
  overflow: hidden;
  position: relative;
  transition: box-shadow 260ms ease, transform 320ms cubic-bezier(.2,.8,.2,1);
}

.book-conversation-card figure img {
  display: block;
  height: auto;
  width: 100%;
}

.book-conversation-card figure span {
  background: linear-gradient(110deg, transparent 20%, rgb(255 255 255 / 52%) 46%, transparent 70%);
  inset: 0;
  position: absolute;
  transform: translateX(-145%);
  transition: transform 620ms cubic-bezier(.2,.72,.2,1);
}

.book-conversation-card > div {
  display: grid;
  justify-items: start;
  min-width: 0;
}

.book-conversation-card .eyebrow {
  color: var(--color-accent);
  margin-bottom: 15px;
}

.book-conversation-card strong {
  color: var(--color-text);
  font-size: clamp(1.7rem, 4vw, 3.35rem);
  font-weight: 860;
  letter-spacing: -.052em;
  line-height: .98;
  max-width: 680px;
  text-wrap: balance;
}

.book-conversation-card small {
  color: var(--color-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: .76rem;
  font-weight: 760;
  gap: 8px 18px;
  margin-top: 16px;
}

.book-conversation-card p {
  color: var(--color-muted);
  line-height: 1.65;
  margin: 22px 0 0;
  max-width: 640px;
}

.book-conversation-action {
  align-items: center;
  color: var(--color-accent);
  display: inline-flex;
  font-size: .71rem;
  font-weight: 850;
  gap: 10px;
  margin-top: 25px;
  text-transform: uppercase;
}

.book-conversation-action span {
  transition: transform 180ms ease;
}

.book-conversation-card:hover,
.book-conversation-card:focus-visible {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-accent) 34%);
  box-shadow: 0 32px 68px rgb(10 21 29 / 23%);
  color: var(--color-text);
  outline: 0;
  text-decoration: none;
  transform: translateY(-2px);
}

.book-conversation-card:hover::after,
.book-conversation-card:focus-visible::after {
  width: 100%;
}

.book-conversation-card:hover figure,
.book-conversation-card:focus-visible figure {
  box-shadow: 0 30px 55px rgb(10 21 29 / 32%);
  transform: translateY(-4px);
}

.book-conversation-card figure:hover span {
  transform: translateX(145%);
}

.book-conversation-card:hover .book-conversation-action span,
.book-conversation-card:focus-visible .book-conversation-action span {
  transform: translateX(5px);
}

@media (max-width: 900px) {
  .article-layout.book-detail-layout {
    grid-template-columns: 1fr;
  }

  .book-related-section {
    grid-template-columns: 1fr;
  }

  .book-related-section > header {
    position: static;
  }

  .book-related-section > header > p:last-child {
    max-width: 620px;
  }
}

@media (max-width: 560px) {
  .book-conversation-card {
    align-items: start;
    grid-template-columns: 105px minmax(0, 1fr);
  }

  .book-conversation-card p {
    grid-column: 1 / -1;
  }

  .book-conversation-card strong {
    font-size: clamp(1.45rem, 7vw, 2rem);
  }
}

.book-related-card {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-paper), #fff 34%), color-mix(in srgb, var(--color-surface), #fff 10%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 18px 7px 20px 7px;
  box-shadow: 0 14px 34px rgb(18 36 48 / 8%);
  color: var(--color-text);
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  grid-template-columns: minmax(108px, 150px) minmax(0, 1fr);
  isolation: isolate;
  min-height: 0;
  overflow: hidden;
  padding: clamp(14px, 3vw, 18px);
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.book-related-card::before {
  align-self: stretch;
  aspect-ratio: 3 / 4;
  background: var(--related-book-cover) center / cover no-repeat;
  border: 1px solid color-mix(in srgb, var(--color-line), #fff 24%);
  border-radius: 14px 5px 16px 5px;
  box-shadow: 0 18px 34px rgb(18 36 48 / 16%);
  content: "";
  grid-row: 1 / span 6;
  min-height: 144px;
  position: relative;
  transform: scale(1);
  transition: filter 220ms ease, transform 260ms ease;
  width: 100%;
}

.book-related-card::after {
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 58%), transparent);
  content: "";
  height: 100%;
  left: -45%;
  position: absolute;
  top: 0;
  transform: skewX(-18deg);
  transition: left 420ms ease;
  width: 34%;
  z-index: 1;
}

.book-related-card:hover,
.book-related-card:focus-visible {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 38%);
  box-shadow: 0 22px 46px rgb(18 36 48 / 13%);
  color: var(--color-text);
  text-decoration: none;
  transform: translateY(-2px);
}

.book-related-card:hover::before,
.book-related-card:focus-visible::before {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.025);
}

.book-related-card:hover::after,
.book-related-card:focus-visible::after {
  left: 116%;
}

.book-related-card:active {
  box-shadow: 0 10px 22px rgb(18 36 48 / 10%);
  transform: translateY(1px) scale(.99);
}

.book-related-card .eyebrow {
  color: var(--color-accent-dark);
  letter-spacing: .13em;
  margin-bottom: 0;
}

.book-related-card > strong {
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: clamp(1.22rem, 2.4vw, 1.75rem);
  font-weight: 860;
  letter-spacing: -.028em;
  line-height: 1.12;
  max-width: 680px;
  overflow-wrap: break-word;
  padding-top: 0;
  position: relative;
  text-wrap: balance;
}

.book-related-card > strong::before {
  content: none;
}

.book-related-meta {
  align-self: flex-start;
  background: color-mix(in srgb, var(--color-accent), transparent 88%);
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 74%);
  border-radius: 999px;
  color: color-mix(in srgb, var(--color-accent-dark), var(--color-text) 28%);
  display: inline-flex;
  flex-wrap: wrap;
  font-size: .78rem;
  font-weight: 820;
  gap: 6px 10px;
  margin-top: 0;
  padding: 6px 10px;
}

.book-related-meta time {
  color: color-mix(in srgb, var(--color-muted), var(--color-text) 12%);
}

.book-related-meta time::before {
  content: "·";
  margin-right: 10px;
}

.book-related-excerpt {
  color: var(--color-muted);
  margin-top: 0;
  max-width: 620px;
}

.book-related-action {
  align-items: center;
  color: var(--color-accent-dark);
  display: inline-flex;
  font-weight: 820;
  gap: 8px;
  margin-top: 2px;
}

.book-related-action span {
  transition: transform 180ms ease;
}

.book-related-card:hover .book-related-action span,
.book-related-card:focus-visible .book-related-action span {
  transform: translateX(5px);
}

@media (max-width: 620px) {
  .book-related-card {
    grid-template-columns: 1fr;
  }

  .book-related-card::before {
    aspect-ratio: 16 / 10;
    grid-row: auto;
    max-height: 220px;
  }
}

.book-card {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 14px 7px 18px 7px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(120px, .46fr) minmax(0, 1fr);
  padding: 18px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.book-card:hover,
.book-card:focus-within {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 60%);
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.book-cover {
  align-self: start;
  aspect-ratio: 3 / 4;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 18%);
  border: 1px solid var(--color-line);
  border-radius: 8px 3px 8px 3px;
  display: block;
  overflow: hidden;
}

.book-cover img,
.book-detail-cover {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.book-card-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.book-card h2 {
  font-size: 1.45rem;
  margin: 8px 0 8px;
}

.book-card .cta-actions {
  margin-top: auto;
  padding-top: 12px;
}

.article-layout.book-detail-layout {
  align-items: start;
  gap: clamp(34px, 5vw, 72px);
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
}

.book-detail-layout .article .lead {
  border-left: 3px solid var(--color-accent);
  margin-inline: 0;
  max-width: 760px;
}

.book-detail-layout .article-body {
  max-width: 760px;
}

.book-detail-cover-frame {
  background:
    radial-gradient(circle at 18% 12%, rgb(255 255 255 / 52%), transparent 9rem),
    linear-gradient(145deg, color-mix(in srgb, var(--color-soft-blue), transparent 18%), color-mix(in srgb, var(--color-surface), transparent 4%));
  border: 1px solid color-mix(in srgb, var(--color-line), #fff 22%);
  border-radius: 24px 8px 26px 8px;
  box-shadow: 0 28px 62px rgb(18 36 48 / 15%);
  margin-bottom: 20px;
  overflow: hidden;
  padding: clamp(14px, 3vw, 22px);
  position: relative;
}

.book-detail-cover-shine {
  background: linear-gradient(112deg, transparent 18%, rgb(255 255 255 / 8%) 35%, rgb(255 255 255 / 62%) 49%, rgb(255 255 255 / 10%) 62%, transparent 78%);
  border-radius: 14px 4px 16px 4px;
  inset: clamp(14px, 3vw, 22px);
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  transform: translateX(-145%) skewX(-9deg);
  transition: transform 850ms cubic-bezier(.2,.72,.2,1);
  z-index: 2;
}

.book-detail-cover:hover + .book-detail-cover-shine {
  transform: translateX(145%) skewX(-9deg);
}

.book-detail-layout .article-aside {
  position: static;
  top: auto;
}

.book-detail-cover {
  aspect-ratio: auto;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 18%);
  border: 1px solid var(--color-line);
  border-radius: 14px 4px 16px 4px;
  box-shadow: 0 18px 36px rgb(18 36 48 / 22%);
  margin-bottom: 0;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.download-panel {
  align-items: center;
  background:
    radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--color-blue), transparent 76%), transparent 12rem),
    linear-gradient(135deg, color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 18%), var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 68%);
  border-radius: 20px 7px 22px 7px;
  box-shadow: 0 18px 42px rgb(36 95 131 / 10%);
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: space-between;
  margin-top: 32px;
  padding: clamp(22px, 4vw, 30px);
}

.download-panel h2 {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  letter-spacing: -.04em;
}

.download-panel h2,
.download-panel p {
  margin-bottom: 0;
}

.download-panel .button {
  background: linear-gradient(135deg, #15171c, #26323a);
  border: 2px solid #15171c;
  color: #fff;
  min-height: 46px;
  padding-inline: 20px;
  box-shadow: 0 8px 20px rgb(0 0 0 / 16%);
}

.download-panel .button:hover,
.download-panel .button:focus-visible {
  background: linear-gradient(135deg, #8a3028, #c96f5f);
  border-color: #8a3028;
  box-shadow: 0 14px 30px rgb(138 48 40 / 26%);
  color: #fff;
  transform: translateY(-2px);
}

.download-panel .button:active {
  background: #5e211c;
  border-color: #5e211c;
  box-shadow: inset 0 3px 8px rgb(0 0 0 / 30%);
  color: #fff;
  transform: translateY(1px) scale(.95);
}

.book-share-panel {
  background:
    radial-gradient(circle at 92% 20%, color-mix(in srgb, var(--color-accent), transparent 82%), transparent 9rem),
    color-mix(in srgb, var(--color-surface), transparent 2%);
  margin-top: 22px;
}

.book-share-panel h2 {
  font-size: clamp(1.25rem, 2.1vw, 1.65rem);
  letter-spacing: -.03em;
}

@media (max-width: 900px) {
  .article-layout.book-detail-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .book-detail-layout .article-aside {
    justify-self: center;
    max-width: 360px;
    width: 100%;
  }
}

.reading-page {
  background: #f4f0e8;
  color: #17191c;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  width: 100vw;
}

.reading-hero {
  background:
    radial-gradient(circle at 84% 18%, rgb(74 151 176 / 20%), transparent 24rem),
    linear-gradient(135deg, #f4f0e8, #fffaf1 58%, #e8edf0);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: calc(100vh - 78px);
  padding: clamp(34px, 7vw, 96px);
}

.reading-kicker {
  color: #9b4f3e;
  font-size: .77rem;
  font-weight: 860;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.reading-hero h1 {
  color: #17191c;
  font-size: clamp(3.7rem, 10vw, 9rem);
  letter-spacing: -.07em;
  line-height: .86;
  margin: auto 0;
  max-width: 1100px;
}

.reading-hero-copy {
  align-items: flex-end;
  border-top: 1px solid rgb(23 25 28 / 16%);
  display: flex;
  gap: 28px;
  justify-content: space-between;
  padding-top: 22px;
}

.reading-hero-copy p {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 28%);
  font-size: clamp(1rem, 1.7vw, 1.34rem);
  margin: 0;
  max-width: 760px;
}

.reading-hero-copy a {
  color: var(--color-accent-dark);
  flex: 0 0 auto;
  font-weight: 840;
}

.reading-thesis,
.reading-fields,
.reading-literature,
.reading-method {
  padding: clamp(42px, 7vw, 96px) clamp(20px, 6vw, 86px);
}

.reading-thesis {
  background: #101214;
  color: #f7f2eb;
}

.reading-thesis h2 {
  color: #f7f2eb;
  font-size: clamp(2.3rem, 6vw, 5.8rem);
  letter-spacing: -.065em;
  line-height: .9;
  max-width: 1100px;
}

.reading-thesis p:last-child {
  color: rgb(255 255 255 / 68%);
  font-size: clamp(1rem, 1.7vw, 1.28rem);
  max-width: 760px;
}

.reading-section-heading {
  align-items: end;
  display: flex;
  gap: 26px;
  justify-content: space-between;
  margin-bottom: 28px;
}

.reading-section-heading h2,
.reading-literature h2,
.reading-method h2 {
  color: #17191c;
  font-size: clamp(2.2rem, 5.6vw, 5rem);
  letter-spacing: -.06em;
  line-height: .92;
  margin: 0;
}

.reading-field-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reading-field {
  background: rgb(255 255 255 / 58%);
  border: 1px solid rgb(23 25 28 / 10%);
  border-radius: 8px;
  min-height: 230px;
  padding: 18px;
}

.reading-field span {
  color: rgb(23 25 28 / 30%);
  display: block;
  font-size: 1.9rem;
  font-weight: 880;
  letter-spacing: -.04em;
  margin-bottom: 18px;
}

.reading-field h3 {
  color: #17191c;
  font-family: var(--font-sans);
  font-size: 1.28rem;
  margin: 0 0 8px;
}

.reading-field strong {
  color: var(--color-accent-dark);
  display: block;
  font-size: .78rem;
  line-height: 1.25;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.reading-field p {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 34%);
  font-size: .96rem;
  margin: 0;
}

.reading-literature {
  background: #e7edf0;
  display: grid;
  gap: clamp(28px, 5vw, 68px);
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

.reading-literature > div:first-child p:last-child {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 26%);
  font-size: clamp(1rem, 1.55vw, 1.2rem);
  max-width: 640px;
}

.reading-figures {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reading-figures article {
  background: #fffaf1;
  border: 1px solid rgb(23 25 28 / 10%);
  border-radius: 8px;
  padding: 18px;
}

.reading-figures h3 {
  color: #17191c;
  font-family: var(--font-sans);
  font-size: 1.05rem;
  margin: 0 0 8px;
}

.reading-figures p {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 34%);
  margin: 0;
}

.reading-method {
  background: #fffaf1;
}

.reading-method ol {
  counter-reset: reading-step;
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
}

.reading-method li {
  align-items: center;
  border-top: 1px solid rgb(23 25 28 / 12%);
  counter-increment: reading-step;
  display: grid;
  gap: 18px;
  grid-template-columns: 72px minmax(220px, .5fr) minmax(0, 1fr);
  padding: 18px 0;
}

.reading-method li::before {
  color: rgb(23 25 28 / 28%);
  content: counter(reading-step, decimal-leading-zero);
  font-size: 2rem;
  font-weight: 880;
  letter-spacing: -.04em;
}

.reading-method strong {
  color: #17191c;
  font-size: 1.08rem;
}

.reading-method span {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 30%);
}

.thinkers-page {
  background: #050505;
  color: #f4f1eb;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  width: 100vw;
}

.thinkers-hero {
  background:
    radial-gradient(circle at 77% 22%, rgb(202 115 92 / 16%), transparent 24rem),
    linear-gradient(135deg, #050505, #0d0d0d 62%, #15110f);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: calc(100vh - 78px);
  padding: clamp(34px, 7vw, 100px);
  position: relative;
}

.thinkers-hero::before {
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: "";
  height: min(55vw, 680px);
  position: absolute;
  right: -12vw;
  top: -22vw;
  width: min(55vw, 680px);
}

.thinkers-kicker {
  color: #cf806c;
  font-size: .77rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.thinkers-hero h1 {
  color: #f7f4ee;
  font-size: clamp(4.6rem, 12.5vw, 11rem);
  letter-spacing: -.075em;
  line-height: .78;
  margin: auto 0;
  max-width: 1300px;
  position: relative;
  z-index: 1;
}

.thinkers-hero h1 span {
  color: transparent;
  -webkit-text-stroke: 1px rgb(247 244 238 / 58%);
}

.thinkers-hero-bottom {
  align-items: end;
  border-top: 1px solid rgb(255 255 255 / 18%);
  display: flex;
  gap: 28px;
  justify-content: space-between;
  padding-top: 22px;
}

.thinkers-hero-bottom p {
  color: rgb(255 255 255 / 62%);
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  margin: 0;
  max-width: 700px;
}

.thinkers-hero-bottom a,
.thinkers-closing a {
  color: #f2b08e;
  flex: 0 0 auto;
  font-weight: 820;
}

.thinkers-index {
  background: #0b0b0b;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  border-top: 1px solid rgb(255 255 255 / 12%);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  padding: 0 clamp(20px, 5vw, 72px);
  scrollbar-width: thin;
  position: sticky;
  top: 0;
  z-index: 12;
}

.thinkers-index-group {
  border-left: 1px solid rgb(255 255 255 / 10%);
  min-width: 220px;
  padding: 16px 18px 18px;
}

.thinkers-index-group:last-child {
  border-right: 1px solid rgb(255 255 255 / 10%);
}

.thinkers-index-group p {
  color: rgb(255 255 255 / 34%);
  font-size: .62rem;
  font-weight: 860;
  letter-spacing: .12em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.thinkers-index-group > div {
  display: grid;
  gap: 2px;
}

.thinkers-index a {
  align-items: baseline;
  border-radius: 6px;
  color: rgb(255 255 255 / 64%);
  display: grid;
  font-size: .82rem;
  font-weight: 760;
  gap: 8px;
  grid-template-columns: 30px minmax(0, 1fr);
  padding: 7px 8px;
  text-decoration: none;
}

.thinkers-index a span {
  color: #cf806c;
  font-size: .72rem;
  margin-right: 0;
}

.thinkers-index a:hover,
.thinkers-index a:focus-visible,
.thinkers-index a.is-active {
  background: #f1ede6;
  color: #090909;
}

.thinkers-index a.is-active {
  box-shadow: inset 0 0 0 1px rgb(207 128 108 / 42%);
}

.thinker-profile {
  background: #070707;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  display: grid;
  grid-template-columns: minmax(0, 48vw) minmax(0, 1fr);
  min-height: 88vh;
}

.thinker-profile:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 48vw);
}

.thinker-profile:nth-child(even) figure {
  grid-column: 2;
  grid-row: 1;
}

.thinker-profile:nth-child(even) .thinker-profile-copy {
  grid-column: 1;
  grid-row: 1;
}

.thinker-profile figure {
  margin: 0;
  min-height: 640px;
  overflow: hidden;
  position: relative;
}

.thinker-profile figure::after {
  background: linear-gradient(90deg, transparent 65%, #070707 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.thinker-profile:nth-child(even) figure::after {
  background: linear-gradient(270deg, transparent 65%, #070707 100%);
}

.thinker-profile img {
  filter: grayscale(1) contrast(1.12);
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
  transform: scale(1.015);
  transition: filter 600ms ease, transform 900ms cubic-bezier(.2,.8,.2,1);
  width: 100%;
}

.thinker-profile-mark {
  align-items: center;
  background:
    radial-gradient(circle at 35% 28%, rgb(255 255 255 / 12%), transparent 210px),
    linear-gradient(145deg, #161412, #080808 72%);
  color: rgb(255 255 255 / 82%);
  display: flex;
  font-family: var(--font-serif);
  font-size: clamp(5.6rem, 12vw, 13rem);
  font-weight: 400;
  height: 100%;
  justify-content: center;
  letter-spacing: .02em;
  min-height: inherit;
  width: 100%;
}

.thinker-name-frame {
  align-items: center;
  background:
    radial-gradient(circle at 18% 16%, rgb(201 106 77 / 24%), transparent 32%),
    radial-gradient(circle at 82% 84%, rgb(55 98 118 / 19%), transparent 34%),
    linear-gradient(145deg, #171412, #080808 72%);
  color: #f7f0e9;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: inherit;
  overflow: hidden;
  padding: clamp(38px, 6vw, 92px);
  position: relative;
  text-align: center;
  width: 100%;
}

.thinker-name-frame::before,
.thinker-name-frame::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

.thinker-name-frame::before {
  border: 1px solid rgb(255 255 255 / 28%);
  inset: clamp(24px, 3.6vw, 55px);
}

.thinker-name-frame::after {
  border: 1px solid rgb(201 106 77 / 38%);
  inset: clamp(33px, 4.7vw, 70px);
}

.thinker-name-frame-number {
  color: #d68b71;
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .24em;
  margin-bottom: clamp(24px, 4vw, 52px);
}

.thinker-name-frame-name {
  font-family: var(--font-serif);
  font-size: clamp(3.2rem, 7vw, 7.4rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .88;
  max-width: 8ch;
  position: relative;
  text-wrap: balance;
  z-index: 1;
}

.thinker-name-frame-name-long {
  font-size: clamp(2.35rem, 5vw, 5rem);
  max-width: 100%;
  overflow-wrap: anywhere;
}

.thinker-name-frame-years {
  color: rgb(255 255 255 / 48%);
  font-size: .67rem;
  font-weight: 760;
  letter-spacing: .2em;
  margin-top: clamp(27px, 4vw, 48px);
}

.thinker-profile-faith .thinker-name-frame {
  background:
    radial-gradient(circle at 18% 16%, rgb(55 98 118 / 27%), transparent 32%),
    radial-gradient(circle at 82% 84%, rgb(201 106 77 / 17%), transparent 34%),
    linear-gradient(145deg, #11191d, #07090a 72%);
}

.thinker-profile-threshold .thinker-name-frame {
  background:
    radial-gradient(circle at 18% 16%, rgb(186 151 90 / 23%), transparent 32%),
    radial-gradient(circle at 82% 84%, rgb(201 106 77 / 16%), transparent 34%),
    linear-gradient(145deg, #191711, #080807 72%);
}

.thinker-profile:hover img {
  filter: grayscale(.76) contrast(1.08);
  transform: scale(1.055);
}

.thinker-profile figcaption {
  bottom: 14px;
  font-size: .65rem;
  left: 50%;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
  width: max-content;
  z-index: 2;
}

.thinker-profile figcaption a {
  color: rgb(255 255 255 / 48%);
}

.thinker-profile-copy {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 7vw, 110px);
}

.thinker-profile-meta {
  align-items: center;
  display: flex;
  font-size: .7rem;
  font-weight: 860;
  gap: 18px;
  letter-spacing: .14em;
  margin-bottom: auto;
  text-transform: uppercase;
}

.thinker-profile-meta span:first-child {
  color: rgb(255 255 255 / 30%);
  font-size: 2.4rem;
  letter-spacing: -.05em;
}

.thinker-profile-question .thinker-profile-meta span:last-child,
.thinker-profile-question .thinker-work {
  color: #dc826c;
}

.thinker-profile-faith .thinker-profile-meta span:last-child,
.thinker-profile-faith .thinker-work {
  color: #85c5d9;
}

.thinker-profile-threshold .thinker-profile-meta span:last-child,
.thinker-profile-threshold .thinker-work {
  color: #d9b56c;
}

.thinker-years {
  color: rgb(255 255 255 / 38%);
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: .1em;
  margin-bottom: 8px;
}

.thinker-profile h2 {
  color: #f7f4ee;
  font-size: clamp(3.2rem, 7vw, 7.4rem);
  letter-spacing: -.065em;
  line-height: .84;
  margin-bottom: clamp(26px, 5vw, 52px);
}

.thinker-profile h3 {
  color: #f7f4ee;
  font-family: var(--font-sans);
  font-size: clamp(1.25rem, 2.2vw, 1.9rem);
  margin-bottom: 15px;
}

.thinker-thought {
  color: rgb(255 255 255 / 66%);
  font-size: clamp(1rem, 1.55vw, 1.2rem);
  max-width: 640px;
}

.thinker-work {
  font-size: .75rem;
  font-weight: 790;
  letter-spacing: .05em;
  margin-top: 18px;
}

.thinker-work cite {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
}

.thinkers-closing {
  align-items: flex-start;
  background:
    radial-gradient(circle at 72% 35%, rgb(74 151 176 / 18%), transparent 24rem),
    #090909;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 72vh;
  padding: clamp(42px, 9vw, 130px);
}

.thinkers-closing p {
  color: rgb(255 255 255 / 48%);
  font-size: clamp(1rem, 2vw, 1.5rem);
}

.thinkers-closing h2 {
  color: #f7f4ee;
  font-size: clamp(4rem, 10vw, 10rem);
  letter-spacing: -.07em;
  line-height: .82;
  max-width: 1100px;
}

.thinkers-closing > div {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 40px;
}

.thinkers-closing a {
  border-bottom: 1px solid currentColor;
  font-size: 1.05rem;
  padding-bottom: 5px;
  transition: color 180ms ease, transform 180ms ease;
}

.thinkers-closing a:hover,
.thinkers-closing a:focus-visible {
  color: #fff5df;
  transform: translateY(-2px);
}

.thinkers-closing a:active {
  color: #d88367;
  transform: translateY(1px);
}

.thinker-stepper {
  align-items: stretch;
  backdrop-filter: blur(18px);
  background: rgb(12 12 12 / 86%);
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 9px;
  bottom: 22px;
  box-shadow: 0 22px 56px rgb(0 0 0 / 34%);
  color: #f7f4ee;
  display: grid;
  grid-template-columns: 46px minmax(180px, 290px) 46px;
  left: 22px;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
  z-index: 31;
}

.thinker-ribbon {
  align-items: stretch;
  backdrop-filter: blur(18px);
  background: rgb(12 12 12 / 88%);
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 9px;
  bottom: 22px;
  box-shadow: 0 22px 56px rgb(0 0 0 / 34%);
  color: #f7f4ee;
  display: flex;
  left: 424px;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  right: 82px;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
  z-index: 30;
}

.thinker-ribbon.is-visible {
  opacity: 1;
  transform: none;
  visibility: visible;
}

.thinker-ribbon[hidden] {
  display: none;
}

.thinker-ribbon a {
  align-items: center;
  color: rgb(255 255 255 / 62%);
  display: flex;
  flex: 0 0 auto;
  font-size: .78rem;
  font-weight: 760;
  gap: 8px;
  min-height: 54px;
  padding: 0 15px;
  text-decoration: none;
  transition: background 180ms ease, color 180ms ease;
}

.thinker-ribbon a:hover,
.thinker-ribbon a:focus-visible,
.thinker-ribbon a.is-active {
  background: #f1ede6;
  color: #090909;
}

.thinker-ribbon a span {
  color: #cf806c;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.thinker-ribbon-index {
  border-right: 1px solid rgb(255 255 255 / 11%);
  color: #f2b08e !important;
}

.thinker-ribbon-list {
  display: flex;
  min-width: 0;
  overflow-x: auto;
  scrollbar-color: rgb(207 128 108 / 64%) transparent;
  scrollbar-width: thin;
}

@media (max-width: 1120px) {
  .thinker-ribbon {
    display: none;
  }
}

.thinker-stepper.is-visible {
  opacity: 1;
  transform: none;
  visibility: visible;
}

.thinker-stepper[hidden] {
  display: none;
}

.thinker-stepper button,
.thinker-stepper a {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: flex;
  font: inherit;
  min-height: 54px;
}

.thinker-stepper button {
  cursor: pointer;
  font-size: 1.05rem;
  justify-content: center;
}

.thinker-stepper button:hover,
.thinker-stepper button:focus-visible,
.thinker-stepper a:hover,
.thinker-stepper a:focus-visible {
  background: rgb(255 255 255 / 10%);
  color: #f2b08e;
}

.thinker-stepper button:disabled {
  color: rgb(255 255 255 / 24%);
  cursor: default;
}

.thinker-stepper button:disabled:hover {
  background: transparent;
}

.thinker-stepper a {
  border-left: 1px solid rgb(255 255 255 / 11%);
  border-right: 1px solid rgb(255 255 255 / 11%);
  gap: 10px;
  min-width: 0;
  padding: 10px 14px;
}

.thinker-stepper a span {
  color: #cf806c;
  flex: 0 0 auto;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.thinker-stepper a strong {
  color: #f7f4ee;
  display: block;
  font-size: .88rem;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .reading-hero {
    min-height: calc(100svh - 40px);
    padding: 34px 20px;
  }

  .reading-hero h1 {
    font-size: clamp(3.6rem, 17vw, 6.4rem);
  }

  .reading-hero-copy,
  .reading-section-heading,
  .reading-literature {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }

  .reading-field-grid,
  .reading-figures {
    grid-template-columns: 1fr;
  }

  .reading-field {
    min-height: 0;
  }

  .reading-method li {
    align-items: flex-start;
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .reading-method li span {
    grid-column: 2;
  }

  .thinkers-hero {
    min-height: calc(100svh - 40px);
    padding: 34px 20px;
  }

  .thinkers-hero h1 {
    font-size: clamp(4.1rem, 22vw, 7rem);
    line-height: .82;
  }

  .thinkers-hero-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .thinkers-index {
    grid-template-columns: 1fr;
    max-height: 54svh;
    overflow-y: auto;
    padding: 0 20px;
  }

  .thinkers-index-group,
  .thinkers-index-group:last-child {
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgb(255 255 255 / 10%);
    padding: 16px 0;
  }

  .thinker-profile,
  .thinker-profile:nth-child(even) {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .thinker-profile:nth-child(even) figure,
  .thinker-profile:nth-child(even) .thinker-profile-copy {
    grid-column: auto;
    grid-row: auto;
  }

  .thinker-profile figure {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }

  .thinker-profile figure::after,
  .thinker-profile:nth-child(even) figure::after {
    background: linear-gradient(180deg, transparent 65%, #070707 100%);
  }

  .thinker-profile-copy {
    margin-top: -42px;
    min-height: 590px;
    padding: 20px 20px 48px;
    position: relative;
    z-index: 2;
  }

  .thinker-profile-meta {
    margin-bottom: 70px;
  }

  .thinker-profile h2 {
    font-size: clamp(3.5rem, 17vw, 6rem);
  }

  .site-back-top {
    bottom: 18px;
    height: 44px;
    right: 16px;
    width: 44px;
  }

  .thinker-stepper {
    bottom: 18px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    left: 16px;
    max-width: calc(100vw - 86px);
  }

  .thinker-stepper a {
    padding-left: 11px;
    padding-right: 11px;
  }

  .thinker-stepper a strong {
    font-size: .82rem;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .admin-main > article > h1,
  :root:not([data-theme]) .admin-main > section > h1,
  :root:not([data-theme]) .admin-main .archive-header h1,
  :root:not([data-theme]) .admin-main .section-heading h2,
  :root:not([data-theme]) .admin-main .section > h2,
  :root:not([data-theme]) .admin-main .compact-grid .card h2,
  :root:not([data-theme]) .admin-main .stats-kpi-grid .card strong,
  :root:not([data-theme]) .admin-main .admin-row h3,
  :root:not([data-theme]) .admin-main .admin-message-card h2,
  :root:not([data-theme]) .admin-main .admin-translation-row h2 {
    color: #edf3f5;
  }

  :root:not([data-theme]) .admin-main .article > form.form-stack,
  :root:not([data-theme]) .admin-main .section > form.form-stack,
  :root:not([data-theme]) .admin-main .security-grid > form.form-stack,
  :root:not([data-theme]) .admin-main .admin-row,
  :root:not([data-theme]) .admin-main .admin-message-card,
  :root:not([data-theme]) .admin-main .admin-translation-row,
  :root:not([data-theme]) .admin-main .admin-data-list,
  :root:not([data-theme]) .admin-main .stats-bars,
  :root:not([data-theme]) .admin-main .secret-box {
    background: #191f24;
    border-color: #2d373e;
  }

  :root:not([data-theme]) .admin-main .form-stack input,
  :root:not([data-theme]) .admin-main .form-stack select,
  :root:not([data-theme]) .admin-main .form-stack textarea,
  :root:not([data-theme]) .admin-main .fieldset {
    background: #151a1e;
    border-color: #303a41;
    color: #ecf2f4;
  }
}

/* Header utilities ------------------------------------------------------- */
.header-utilities {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 42px 1px minmax(220px, 1fr);
  min-width: 0;
}

.header-utility-separator {
  background: color-mix(in srgb, var(--color-line), var(--color-ink) 8%);
  display: block;
  height: 30px;
  width: 1px;
}

.header-utilities .site-settings-trigger {
  border: 1px solid var(--color-line);
  height: 42px;
  width: 42px;
}

.header-utilities .site-settings-panel {
  bottom: auto;
  left: 0;
  right: auto;
  top: calc(100% + 15px);
}

.site-dock:empty {
  display: none;
}

@media (max-width: 760px) {
  .header-utilities {
    grid-template-columns: 42px 1px minmax(0, 1fr);
  }

  .header-utilities .site-settings-panel {
    bottom: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: auto;
  }
}

/* Front display preferences --------------------------------------------- */
html[data-site-font="small"] { --site-text-scale: .88; }
html[data-site-font="normal"] { --site-text-scale: .94; }
html[data-site-font="large"] { --site-text-scale: 1.04; }
html[data-site-font="xlarge"] { --site-text-scale: 1.12; }

.site-settings {
  position: relative;
}

.site-settings-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: var(--color-muted);
  cursor: pointer;
  display: flex;
  height: 40px;
  justify-content: center;
  padding: 0;
  transition: background 150ms ease, color 150ms ease, transform 150ms ease;
  width: 40px;
}

.site-settings-trigger svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 20px;
}

.site-settings-trigger:hover,
.site-settings-trigger:focus-visible,
.site-settings.is-open .site-settings-trigger {
  background: var(--color-ink);
  color: var(--color-paper);
  transform: rotate(12deg);
}

.site-settings-trigger:active {
  transform: rotate(12deg) scale(.92);
}

.site-settings-panel {
  backdrop-filter: blur(22px);
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 8%);
  border: 1px solid var(--color-line);
  border-radius: 18px;
  bottom: calc(100% + 14px);
  box-shadow: 0 24px 70px rgb(14 28 37 / 22%);
  color: var(--color-ink);
  padding: 17px;
  position: absolute;
  right: 0;
  width: min(340px, calc(100vw - 28px));
}

.site-settings-panel:not([hidden]) {
  animation: site-settings-in 170ms cubic-bezier(.2, .8, .2, 1);
  display: grid;
  gap: 17px;
}

@keyframes site-settings-in {
  from { opacity: 0; transform: translateY(9px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.site-settings-panel > header {
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  display: flex;
  justify-content: space-between;
  padding-bottom: 13px;
}

.site-settings-panel > header > div {
  display: grid;
  line-height: 1.25;
}

.site-settings-panel > header span {
  color: var(--color-muted);
  font-size: .61rem;
  font-weight: 820;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.site-settings-panel > header strong {
  font-size: .86rem;
  margin-top: 3px;
}

.site-settings-panel > header button {
  background: color-mix(in srgb, var(--color-line), transparent 45%);
  border: 0;
  border-radius: 8px;
  color: var(--color-muted);
  cursor: pointer;
  font: 500 1.2rem/1 var(--font-sans);
  height: 31px;
  width: 31px;
}

.site-settings-panel section {
  display: grid;
  gap: 9px;
}

.site-settings-panel h2 {
  color: var(--color-muted);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0;
  text-transform: uppercase;
}

.site-settings-options {
  background: color-mix(in srgb, var(--color-line), transparent 55%);
  border-radius: 11px;
  display: grid;
  gap: 3px;
  padding: 4px;
}

.site-theme-options {
  grid-template-columns: repeat(3, 1fr);
}

.site-font-options {
  grid-template-columns: repeat(4, 1fr);
}

.site-settings-options button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--color-muted);
  cursor: pointer;
  display: flex;
  font: 720 .7rem/1 var(--font-sans);
  gap: 6px;
  justify-content: center;
  min-height: 39px;
  padding: 0 8px;
}

.site-settings-options button:hover,
.site-settings-options button:focus-visible {
  background: color-mix(in srgb, var(--color-surface), transparent 15%);
  color: var(--color-ink);
}

.site-settings-options button[aria-pressed="true"] {
  background: var(--color-surface);
  box-shadow: 0 4px 12px rgb(21 36 45 / 10%);
  color: var(--color-ink);
}

.site-settings-panel section > p {
  color: var(--color-muted);
  font-size: .63rem;
  line-height: 1.45;
  margin: 0;
}

.site-settings-reset {
  background: transparent;
  border: 1px solid var(--color-line);
  border-radius: 9px;
  color: var(--color-muted);
  cursor: pointer;
  font: 720 .65rem/1 var(--font-sans);
  min-height: 37px;
}

.site-settings-reset:hover,
.site-settings-reset:focus-visible {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 40%);
  color: var(--color-ink);
}

@media (max-width: 560px) {
  .site-settings-panel {
    position: fixed;
    bottom: 74px;
    left: 14px;
    right: 14px;
    width: auto;
  }
}

/* Editorial workshop ----------------------------------------------------- */
.content-editor-page {
  display: grid;
  gap: 22px;
}

.content-editor-header {
  align-items: end;
  border-bottom: 1px solid #dfe6e9;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  padding-bottom: 24px;
}

.content-editor-back {
  color: #74868f;
  display: inline-block;
  font-size: .67rem;
  font-weight: 730;
  margin-bottom: 20px;
}

.content-editor-back:hover,
.content-editor-back:focus-visible {
  color: #2e606a;
}

.content-editor-header h1 {
  color: #172631;
  font-size: clamp(2.3rem, 4.5vw, 4rem);
  letter-spacing: -.055em;
  line-height: .98;
  margin: 0 0 10px;
}

.content-editor-header p:not(.eyebrow) {
  color: #788991;
  font-size: .78rem;
  margin: 0;
}

.content-editor-header-state {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.content-editor-header-state > a {
  border: 1px solid #cedadd;
  border-radius: 9px;
  color: #516b75;
  font-size: .68rem;
  font-weight: 760;
  padding: 8px 10px;
}

.content-editor-form {
  display: grid;
  gap: 20px;
}

.content-editor-layout {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
}

.content-editor-main,
.content-editor-sidebar {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.content-editor-sidebar {
  position: sticky;
  top: 92px;
}

.content-editor-card {
  background: #fff;
  border: 1px solid #e0e7ea;
  border-radius: 16px;
  box-shadow: 0 5px 18px rgb(28 47 59 / 3%);
  padding: 20px;
}

.content-editor-card-head {
  align-items: center;
  border-bottom: 1px solid #e9edef;
  display: flex;
  justify-content: space-between;
  margin: -2px 0 19px;
  padding-bottom: 13px;
}

.content-editor-card-head .admin-kicker {
  margin-bottom: 3px;
}

.content-editor-card-head h2 {
  color: #243740;
  font-size: 1.02rem;
  letter-spacing: -.025em;
  margin: 0;
}

.content-editor-card-head > span {
  align-items: center;
  color: #839198;
  display: flex;
  font-size: .62rem;
  gap: 6px;
}

.content-editor-card-head > span::before {
  background: #78c59c;
  border-radius: 50%;
  content: "";
  height: 6px;
  width: 6px;
}

.content-editor-card-head > span.is-unsaved {
  color: #9c653c;
}

.content-editor-card-head > span.is-unsaved::before {
  background: #ef9b64;
  box-shadow: 0 0 0 4px rgb(239 155 100 / 12%);
}

.content-editor-card-head > a {
  align-items: center;
  background: #67d6dc;
  border-radius: 8px;
  color: #10212b;
  display: flex;
  font-size: 1rem;
  font-weight: 800;
  height: 31px;
  justify-content: center;
  width: 31px;
}

.content-editor-writing {
  padding: clamp(22px, 3vw, 34px);
}

.content-editor-form label,
.content-editor-fields {
  display: grid;
}

.content-editor-form label {
  color: #3c505a;
  font-size: .7rem;
  font-weight: 770;
  gap: 7px;
}

.content-editor-fields {
  gap: 16px;
}

.content-editor-form input,
.content-editor-form select,
.content-editor-form textarea {
  background: #f7f9fa;
  border: 1px solid #dce4e7;
  border-radius: 9px;
  color: #192a34;
  font: 560 .82rem/1.45 var(--font-sans);
  min-height: 44px;
  outline: 0;
  padding: 9px 11px;
  transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
  width: 100%;
}

.content-editor-form input:focus,
.content-editor-form select:focus,
.content-editor-form textarea:focus {
  background: #fff;
  border-color: #59a8ae;
  box-shadow: 0 0 0 4px rgb(89 168 174 / 12%);
}

.content-editor-form select[multiple] {
  min-height: 116px;
  padding: 5px;
}

.content-editor-form select[multiple] option {
  border-radius: 6px;
  padding: 6px 7px;
}

.content-editor-title-field input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #dfe6e9;
  border-radius: 0;
  color: #172631;
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  font-weight: 760;
  letter-spacing: -.045em;
  line-height: 1.12;
  min-height: 68px;
  padding: 8px 0 13px;
}

.content-editor-title-field input:focus {
  border-color: #59a8ae;
  box-shadow: none;
}

.content-editor-slug-field {
  margin: 17px 0 22px;
}

.content-editor-slug-input {
  align-items: center;
  background: #f4f7f8;
  border: 1px solid #e0e7e9;
  border-radius: 9px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  overflow: hidden;
}

.content-editor-slug-input i {
  color: #8a989e;
  font-style: normal;
  text-align: right;
}

.content-editor-slug-input input {
  background: transparent;
  border: 0;
  box-shadow: none !important;
  min-height: 39px;
  padding-left: 3px;
}

.content-editor-field-note {
  align-items: center;
  color: #8b989e;
  display: flex;
  font-size: .61rem;
  font-weight: 520;
  justify-content: space-between;
}

.content-editor-field-note b {
  font-weight: 690;
}

.content-html-editor {
  border: 1px solid #dce4e7;
  border-radius: 12px;
  margin-top: 22px;
  overflow: hidden;
}

.content-html-toolbar {
  align-items: center;
  background: #f2f6f7;
  border-bottom: 1px solid #dfe6e8;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 48px;
  padding: 7px 9px;
}

.content-html-toolbar button {
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: #526873;
  cursor: pointer;
  font: 720 .72rem/1 var(--font-sans);
  height: 32px;
  min-width: 32px;
  padding: 0 7px;
}

.content-html-toolbar button:hover,
.content-html-toolbar button:focus-visible {
  background: #fff;
  box-shadow: 0 2px 8px rgb(28 47 59 / 9%);
  color: #183e48;
}

.content-html-toolbar > span {
  background: #dbe3e6;
  height: 21px;
  margin: 0 3px;
  width: 1px;
}

.content-html-editor label {
  display: block;
}

.content-html-editor textarea {
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .77rem;
  line-height: 1.65;
  min-height: 520px;
  padding: 20px;
  resize: vertical;
}

.content-html-editor footer {
  align-items: center;
  background: #f6f8f9;
  border-top: 1px solid #e3e8ea;
  color: #8a989e;
  display: flex;
  font-size: .59rem;
  justify-content: space-between;
  min-height: 34px;
  padding: 0 12px;
}

.content-editor-details {
  padding: 0;
}

.content-editor-details > summary,
.content-editor-rights > summary {
  cursor: pointer;
  list-style: none;
}

.content-editor-details > summary::-webkit-details-marker,
.content-editor-rights > summary::-webkit-details-marker {
  display: none;
}

.content-editor-details > summary {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 18px 20px;
}

.content-editor-details > summary > span {
  display: grid;
}

.content-editor-details > summary small {
  color: #89969d;
  font-size: .59rem;
  font-weight: 820;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.content-editor-details > summary strong {
  color: #293b45;
  font-size: .87rem;
  margin-top: 3px;
}

.content-editor-details summary i,
.content-editor-rights summary span {
  color: #86949a;
  font-style: normal;
  transition: transform 150ms ease;
}

.content-editor-details[open] summary i,
.content-editor-rights[open] summary span {
  transform: rotate(180deg);
}

.content-editor-details-body {
  border-top: 1px solid #e9edef;
  display: grid;
  gap: 17px;
  padding: 20px;
}

.content-editor-rights {
  border-top: 1px solid #e8edef;
  margin-top: 4px;
  padding-top: 10px;
}

.content-editor-rights > summary {
  align-items: center;
  color: #60757f;
  display: flex;
  font-size: .68rem;
  font-weight: 740;
  justify-content: space-between;
  padding: 7px 0;
}

.content-editor-rights > div {
  display: grid;
  gap: 12px;
  padding-top: 11px;
}

.content-editor-image-preview {
  aspect-ratio: 16 / 9;
  background: #edf2f3;
  border-radius: 10px;
  margin: 0;
  overflow: hidden;
}

.content-editor-image-preview img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.content-editor-actions {
  align-items: center;
  backdrop-filter: blur(16px);
  background: rgb(255 255 255 / 90%);
  border: 1px solid #dfe6e9;
  border-radius: 14px;
  bottom: 14px;
  box-shadow: 0 16px 42px rgb(17 34 44 / 12%);
  display: flex;
  justify-content: space-between;
  min-height: 66px;
  padding: 10px 12px 10px 16px;
  position: sticky;
  z-index: 30;
}

.content-editor-actions > div,
.content-editor-actions nav {
  align-items: center;
  display: flex;
}

.content-editor-actions > div {
  color: #7d8d94;
  font-size: .64rem;
  gap: 8px;
}

.content-editor-unsaved-dot {
  background: #75c398;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.content-editor-actions.has-unsaved-changes .content-editor-unsaved-dot {
  background: #ef9b64;
  box-shadow: 0 0 0 4px rgb(239 155 100 / 12%);
}

.content-editor-actions nav {
  gap: 7px;
}

.content-editor-actions nav > a {
  border-radius: 8px;
  color: #667a83;
  font-size: .68rem;
  font-weight: 730;
  padding: 9px 10px;
}

.content-editor-actions nav > a:hover {
  background: #edf3f4;
  color: #244e58;
}

.content-editor-actions .button {
  min-height: 42px;
}

.content-editor-revisions {
  margin-top: 25px;
}

.content-editor-revisions > header h2 {
  color: #253942;
  font-size: 1.25rem;
  margin: 0 0 16px;
}

.content-editor-revisions > div {
  background: #fff;
  border: 1px solid #e0e7ea;
  border-radius: 14px;
  overflow: hidden;
}

.content-editor-revisions article {
  align-items: center;
  display: flex;
  gap: 12px;
  min-height: 67px;
  padding: 11px 15px;
}

.content-editor-revisions article + article {
  border-top: 1px solid #ebeff1;
}

.content-editor-revisions .admin-avatar {
  flex: 0 0 36px;
  height: 36px;
  width: 36px;
}

.content-editor-revisions article > div {
  display: grid;
}

.content-editor-revisions strong { color: #30454f; font-size: .72rem; }
.content-editor-revisions small { color: #85939a; font-size: .61rem; margin-top: 3px; }

html[data-theme="dark"] .content-editor-header h1,
html[data-theme="dark"] .content-editor-card-head h2,
html[data-theme="dark"] .content-editor-title-field input,
html[data-theme="dark"] .content-editor-details > summary strong,
html[data-theme="dark"] .content-editor-revisions > header h2,
html[data-theme="dark"] .content-editor-revisions strong {
  color: #edf3f5;
}

html[data-theme="dark"] .content-editor-card,
html[data-theme="dark"] .content-editor-actions,
html[data-theme="dark"] .content-editor-revisions > div {
  background: #191f24;
  border-color: #2d373e;
}

html[data-theme="dark"] .content-editor-form input,
html[data-theme="dark"] .content-editor-form select,
html[data-theme="dark"] .content-editor-form textarea,
html[data-theme="dark"] .content-editor-slug-input,
html[data-theme="dark"] .content-html-toolbar,
html[data-theme="dark"] .content-html-editor footer {
  background: #141a1e;
  border-color: #303a41;
  color: #e9eff1;
}

@media (max-width: 1080px) {
  .content-editor-layout {
    grid-template-columns: 1fr;
  }

  .content-editor-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }
}

@media (max-width: 700px) {
  .content-editor-header {
    align-items: start;
    flex-direction: column;
  }

  .content-editor-sidebar {
    grid-template-columns: 1fr;
  }

  .content-editor-actions {
    align-items: stretch;
    bottom: 8px;
    flex-direction: column;
    gap: 7px;
  }

  .content-editor-actions nav {
    justify-content: flex-end;
  }

  .content-html-editor textarea {
    min-height: 420px;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .content-editor-header h1,
  :root:not([data-theme]) .content-editor-card-head h2,
  :root:not([data-theme]) .content-editor-title-field input,
  :root:not([data-theme]) .content-editor-details > summary strong,
  :root:not([data-theme]) .content-editor-revisions > header h2,
  :root:not([data-theme]) .content-editor-revisions strong {
    color: #edf3f5;
  }

  :root:not([data-theme]) .content-editor-card,
  :root:not([data-theme]) .content-editor-actions,
  :root:not([data-theme]) .content-editor-revisions > div {
    background: #191f24;
    border-color: #2d373e;
  }

  :root:not([data-theme]) .content-editor-form input,
  :root:not([data-theme]) .content-editor-form select,
  :root:not([data-theme]) .content-editor-form textarea,
  :root:not([data-theme]) .content-editor-slug-input,
  :root:not([data-theme]) .content-html-toolbar,
  :root:not([data-theme]) .content-html-editor footer {
    background: #141a1e;
    border-color: #303a41;
    color: #e9eff1;
  }
}

/* Editorial library ------------------------------------------------------ */
.content-admin-page {
  display: grid;
  gap: 28px;
}

.content-admin-hero {
  align-items: end;
  background:
    radial-gradient(circle at 90% 8%, rgb(103 214 220 / 19%), transparent 220px),
    radial-gradient(circle at 62% 120%, rgb(255 130 108 / 13%), transparent 250px),
    linear-gradient(125deg, #152632, #101b25 72%);
  border-radius: 25px;
  color: #fff;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 300px;
  overflow: hidden;
  padding: clamp(30px, 4vw, 54px);
  position: relative;
}

.content-admin-hero::after {
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 50%;
  content: "";
  height: 270px;
  position: absolute;
  right: -110px;
  top: -115px;
  width: 270px;
}

.content-admin-hero > div {
  position: relative;
  z-index: 1;
}

.content-admin-hero .eyebrow {
  color: var(--admin-cyan);
}

.content-admin-hero h1 {
  color: #fff;
  font-size: clamp(3rem, 5.8vw, 5.7rem);
  letter-spacing: -.07em;
  line-height: .87;
  margin: 0 0 23px;
}

.content-admin-hero h1 em {
  color: #90a4ae;
  font-family: var(--font-serif);
  font-weight: 400;
}

.content-admin-hero p:not(.eyebrow) {
  color: #a9bac2;
  font-size: .91rem;
  margin: 0;
  max-width: 500px;
}

.content-admin-hero-actions {
  align-items: flex-end;
  display: grid;
  gap: 12px;
  justify-items: end;
}

.content-admin-hero-actions small {
  color: #718895;
  font-size: .64rem;
}

.content-admin-resources {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-admin-resources a {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 14px;
  color: #2a3e48;
  display: grid;
  gap: 11px;
  grid-template-columns: 40px minmax(0, 1fr) 18px;
  min-height: 76px;
  padding: 12px;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.content-admin-resources a > span {
  align-items: center;
  background: #eaf2f3;
  border-radius: 10px;
  color: #3b7078;
  display: flex;
  font-weight: 850;
  height: 40px;
  justify-content: center;
}

.content-admin-resources strong,
.content-admin-resources small {
  grid-column: 2;
  line-height: 1.2;
}

.content-admin-resources strong {
  align-self: end;
  font-size: .76rem;
}

.content-admin-resources small {
  align-self: start;
  color: #839198;
  font-size: .62rem;
  margin-top: -7px;
}

.content-admin-resources i {
  color: #9da9ae;
  font-style: normal;
  grid-column: 3;
  grid-row: 1 / span 2;
  transition: transform 150ms ease;
}

.content-admin-resources a:hover,
.content-admin-resources a:focus-visible {
  border-color: #bdcfd4;
  box-shadow: 0 12px 26px rgb(28 47 59 / 7%);
  color: #193943;
  transform: translateY(-2px);
}

.content-admin-resources a:hover i {
  transform: translateX(3px);
}

.content-admin-summary {
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 16px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  overflow: hidden;
}

.content-admin-summary a {
  align-items: center;
  color: #314751;
  display: flex;
  gap: 10px;
  min-height: 88px;
  padding: 14px;
  position: relative;
  transition: background 140ms ease, color 140ms ease;
}

.content-admin-summary a + a {
  border-left: 1px solid #e9edef;
}

.content-admin-summary a > span {
  align-items: center;
  background: #edf3f4;
  border-radius: 9px;
  color: #4d6c76;
  display: flex;
  flex: 0 0 34px;
  font-size: .69rem;
  font-weight: 880;
  height: 34px;
  justify-content: center;
}

.content-admin-summary a > div {
  display: grid;
  line-height: 1.1;
}

.content-admin-summary strong {
  font-size: 1.25rem;
  letter-spacing: -.04em;
}

.content-admin-summary small {
  color: #87949a;
  font-size: .6rem;
  margin-top: 4px;
}

.content-admin-summary a:hover,
.content-admin-summary a:focus-visible,
.content-admin-summary a[aria-current="true"] {
  background: #eef6f6;
  color: #173b43;
}

.content-admin-summary a[aria-current="true"]::after {
  background: var(--admin-cyan);
  bottom: 0;
  content: "";
  height: 3px;
  inset-inline: 0;
  position: absolute;
}

.content-admin-workspace {
  margin-top: 10px;
}

.content-admin-filters {
  align-items: center;
  background: #fff;
  border: 1px solid #e0e7ea;
  border-radius: 14px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(240px, 1fr) minmax(150px, .25fr) minmax(150px, .25fr) auto auto;
  padding: 8px;
  position: relative;
}

.content-admin-filters label {
  display: block;
}

.content-admin-search {
  position: relative;
}

.content-admin-search i {
  color: #71848d;
  font-size: 1.08rem;
  font-style: normal;
  left: 13px;
  position: absolute;
  top: 50%;
  transform: translateY(-52%);
}

.content-admin-filters input,
.content-admin-filters select {
  background: #f5f8f9;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #243943;
  font: 650 .73rem/1 var(--font-sans);
  height: 43px;
  outline: 0;
  padding: 0 12px;
  width: 100%;
}

.content-admin-filters input {
  padding-left: 39px;
}

.content-admin-filters input:focus,
.content-admin-filters select:focus {
  background: #fff;
  border-color: #63aeb3;
  box-shadow: 0 0 0 4px rgb(99 174 179 / 12%);
}

.content-admin-filters button,
.content-admin-filters > a {
  align-items: center;
  border-radius: 9px;
  display: flex;
  font: 790 .7rem/1 var(--font-sans);
  height: 43px;
  justify-content: center;
}

.content-admin-filters button {
  background: #172631;
  border: 0;
  color: #fff;
  cursor: pointer;
  padding: 0 15px;
}

.content-admin-filters button:hover,
.content-admin-filters button:focus-visible {
  background: #276e77;
}

.content-admin-filters > a {
  background: #edf2f3;
  color: #667982;
  font-size: 1rem;
  width: 43px;
}

.content-active-filters {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}

.content-active-filters > span {
  color: #87949a;
  font-size: .62rem;
  font-weight: 750;
  margin-right: 3px;
}

.content-active-filters a {
  background: #e9f2f2;
  border: 1px solid #d8e8e9;
  border-radius: 999px;
  color: #41626b;
  font-size: .64rem;
  font-weight: 730;
  padding: 5px 9px;
}

.content-active-filters a:hover,
.content-active-filters a:focus-visible {
  background: #dcebed;
  color: #1e4851;
}

.content-admin-results-head {
  align-items: end;
  border-bottom: 1px solid #dfe6e9;
  display: flex;
  justify-content: space-between;
  margin: 36px 0 12px;
  padding-bottom: 14px;
}

.content-admin-results-head .admin-kicker {
  margin-bottom: 5px;
}

.content-admin-results-head h2 {
  color: #20333d;
  font-size: clamp(1.4rem, 2.3vw, 1.9rem);
  letter-spacing: -.04em;
  line-height: 1;
  margin: 0;
}

.content-admin-results-head small {
  color: #8a979d;
  display: block;
  font-size: .62rem;
  margin-top: 6px;
}

.content-density-control {
  align-items: center;
  background: #e8edef;
  border-radius: 9px;
  display: flex;
  gap: 2px;
  padding: 3px;
}

.content-density-control button {
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: #78888f;
  cursor: pointer;
  font: 800 .9rem/1 var(--font-sans);
  height: 31px;
  width: 33px;
}

.content-density-control button:hover,
.content-density-control button:focus-visible,
.content-density-control button[aria-pressed="true"] {
  background: #fff;
  box-shadow: 0 3px 8px rgb(28 47 59 / 8%);
  color: #243943;
}

.content-admin-results {
  display: grid;
  gap: 8px;
}

.content-admin-item {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 14px;
  display: grid;
  gap: 16px;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  min-height: 142px;
  overflow: hidden;
  padding: 16px;
  position: relative;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.content-admin-item::before {
  background: #98a7ad;
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 3px;
}

.content-admin-item.status-published::before { background: #55ae7f; }
.content-admin-item.status-draft::before { background: #9aa6ac; }
.content-admin-item.status-review::before { background: #ef9b64; }
.content-admin-item.status-scheduled::before { background: #727acc; }
.content-admin-item.status-archived::before { background: #8b7773; }

.content-admin-item:hover {
  border-color: #bfd0d5;
  box-shadow: 0 14px 32px rgb(28 47 59 / 7%);
  transform: translateY(-2px);
}

.content-admin-type {
  align-items: center;
  background: linear-gradient(135deg, #e9f3f3, #f3f7f7);
  border: 1px solid #dce9ea;
  border-radius: 13px 5px 13px 5px;
  color: #3f6f77;
  display: flex;
  font-size: .82rem;
  font-weight: 900;
  height: 50px;
  justify-content: center;
}

.content-admin-item-body {
  min-width: 0;
}

.content-admin-item-meta,
.content-admin-dates {
  align-items: center;
  color: #89969c;
  display: flex;
  flex-wrap: wrap;
  font-size: .59rem;
  gap: 6px;
}

.content-admin-item-meta > span:not(.status-pill) + span:not(.status-pill)::before,
.content-admin-dates span + span::before {
  color: #c2cbcf;
  content: "·";
  margin-right: 6px;
}

.content-admin-item h3 {
  font-size: 1rem;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 10px 0 5px;
}

.content-admin-item h3 a {
  color: #233740;
}

.content-admin-item h3 a:hover,
.content-admin-item h3 a:focus-visible {
  color: #276a73;
}

.content-admin-item-body > p {
  color: #72838b;
  display: -webkit-box;
  font-size: .7rem;
  line-height: 1.45;
  margin: 0 0 10px;
  max-width: 760px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.content-admin-dates time {
  color: #60747d;
  font-weight: 680;
}

.content-admin-item-actions {
  align-items: center;
  display: flex;
  gap: 7px;
}

.content-admin-item-actions > a {
  align-items: center;
  border: 1px solid #dbe4e7;
  border-radius: 9px;
  color: #647881;
  display: flex;
  font-size: .69rem;
  font-weight: 780;
  height: 39px;
  justify-content: center;
  min-width: 39px;
  padding: 0 10px;
}

.content-admin-item-actions > a:hover,
.content-admin-item-actions > a:focus-visible {
  background: #edf4f4;
  border-color: #bcd0d4;
  color: #244f58;
}

.content-admin-item-actions .content-edit-action {
  background: #172631;
  border-color: #172631;
  color: #fff;
  gap: 8px;
  padding-inline: 13px;
}

.content-admin-item-actions .content-edit-action:hover,
.content-admin-item-actions .content-edit-action:focus-visible {
  background: #276e77;
  border-color: #276e77;
  color: #fff;
}

.content-admin-results.is-compact {
  gap: 5px;
}

.content-admin-results.is-compact .content-admin-item {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  min-height: 82px;
  padding-block: 10px;
}

.content-admin-results.is-compact .content-admin-type {
  border-radius: 9px 4px 9px 4px;
  height: 38px;
}

.content-admin-results.is-compact .content-admin-item-body > p,
.content-admin-results.is-compact .content-admin-dates span:nth-child(n+2) {
  display: none;
}

.content-admin-results.is-compact .content-admin-item h3 {
  margin-block: 6px 4px;
}

.content-admin-empty {
  align-items: center;
  background: #fff;
  border: 1px dashed #cdd9dd;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  min-height: 290px;
  padding: 40px;
  text-align: center;
}

.content-admin-empty > span {
  align-items: center;
  background: #eaf2f3;
  border-radius: 50%;
  color: #51717a;
  display: flex;
  font-size: 1.4rem;
  height: 58px;
  justify-content: center;
  margin-bottom: 16px;
  width: 58px;
}

.content-admin-empty h3,
.content-admin-empty p {
  margin: 0;
}

.content-admin-empty h3 { font-size: 1rem; }
.content-admin-empty p { color: #7c8c93; font-size: .73rem; margin: 5px 0 18px; }

html[data-theme="dark"] .content-admin-resources a,
html[data-theme="dark"] .content-admin-summary,
html[data-theme="dark"] .content-admin-filters,
html[data-theme="dark"] .content-admin-item,
html[data-theme="dark"] .content-admin-empty {
  background: #191f24;
  border-color: #2c363d;
}

html[data-theme="dark"] .content-admin-resources a,
html[data-theme="dark"] .content-admin-summary a,
html[data-theme="dark"] .content-admin-results-head h2,
html[data-theme="dark"] .content-admin-item h3 a {
  color: #ebf1f3;
}

html[data-theme="dark"] .content-admin-summary a + a,
html[data-theme="dark"] .content-admin-results-head,
html[data-theme="dark"] .content-admin-item {
  border-color: #2d373e;
}

html[data-theme="dark"] .content-admin-filters input,
html[data-theme="dark"] .content-admin-filters select {
  background: #13191d;
  color: #e9f0f2;
}

html[data-theme="dark"] .content-admin-summary a:hover,
html[data-theme="dark"] .content-admin-summary a[aria-current="true"],
html[data-theme="dark"] .content-admin-item-actions > a:hover {
  background: #223137;
}

@media (max-width: 1440px) {
  .content-admin-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .content-admin-summary a:nth-child(4) {
    border-left: 0;
    border-top: 1px solid #e9edef;
  }

  .content-admin-summary a:nth-child(n+5) {
    border-top: 1px solid #e9edef;
  }
}

@media (max-width: 800px) {
  .content-admin-hero {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .content-admin-hero-actions {
    justify-items: start;
  }

  .content-admin-resources {
    grid-template-columns: 1fr;
  }

  .content-admin-filters {
    grid-template-columns: 1fr 1fr;
  }

  .content-admin-search {
    grid-column: 1 / -1;
  }

  .content-admin-filters button {
    grid-column: 1 / -1;
  }

  .content-admin-item {
    align-items: start;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .content-admin-type {
    height: 42px;
  }

  .content-admin-item-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .content-admin-hero {
    border-radius: 19px;
    min-height: 0;
    padding: 31px 22px;
  }

  .content-admin-hero h1 {
    font-size: clamp(2.8rem, 15vw, 4rem);
  }

  .content-admin-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-admin-summary a:nth-child(odd) {
    border-left: 0;
  }

  .content-admin-summary a:nth-child(n+3) {
    border-top: 1px solid #e9edef;
  }

  .content-admin-filters {
    grid-template-columns: 1fr;
  }

  .content-admin-search,
  .content-admin-filters button {
    grid-column: auto;
  }

  .content-admin-filters > a {
    position: absolute;
    right: 23px;
    width: 34px;
  }

  .content-admin-results-head {
    align-items: start;
  }

  .content-admin-item,
  .content-admin-results.is-compact .content-admin-item {
    grid-template-columns: 1fr;
  }

  .content-admin-type,
  .content-admin-results.is-compact .content-admin-type {
    display: none;
  }

  .content-admin-item-actions,
  .content-admin-results.is-compact .content-admin-item-actions {
    grid-column: 1;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .content-admin-resources a,
  :root:not([data-theme]) .content-admin-summary,
  :root:not([data-theme]) .content-admin-filters,
  :root:not([data-theme]) .content-admin-item,
  :root:not([data-theme]) .content-admin-empty {
    background: #191f24;
    border-color: #2c363d;
  }

  :root:not([data-theme]) .content-admin-resources a,
  :root:not([data-theme]) .content-admin-summary a,
  :root:not([data-theme]) .content-admin-results-head h2,
  :root:not([data-theme]) .content-admin-item h3 a {
    color: #ebf1f3;
  }

  :root:not([data-theme]) .content-admin-filters input,
  :root:not([data-theme]) .content-admin-filters select {
    background: #13191d;
    color: #e9f0f2;
  }
}

/* Dashboard operations -------------------------------------------------- */
.admin-attention-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-attention-card {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 14px;
  color: #243640;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) 18px;
  min-height: 88px;
  overflow: hidden;
  padding: 14px;
  position: relative;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.admin-attention-card::before {
  background: var(--attention-color, #67d6dc);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 3px;
}

.admin-attention-card > strong {
  align-items: center;
  background: color-mix(in srgb, var(--attention-color, #67d6dc), white 80%);
  border-radius: 10px;
  color: color-mix(in srgb, var(--attention-color, #357d84), #172631 42%);
  display: flex;
  font-size: 1.05rem;
  height: 43px;
  justify-content: center;
  min-width: 43px;
  padding: 0 8px;
}

.admin-attention-card > span {
  display: grid;
  line-height: 1.25;
  min-width: 0;
}

.admin-attention-card b {
  font-size: .75rem;
}

.admin-attention-card small {
  color: #839198;
  font-size: .62rem;
  margin-top: 3px;
}

.admin-attention-card i {
  color: #9ba8ae;
  font-style: normal;
  transition: transform 150ms ease;
}

.admin-attention-card:hover,
.admin-attention-card:focus-visible {
  border-color: color-mix(in srgb, var(--attention-color, #67d6dc), #cad5da 65%);
  box-shadow: 0 13px 28px rgb(28 47 59 / 7%);
  color: #182a33;
  transform: translateY(-2px);
}

.admin-attention-card:hover i {
  transform: translateX(3px);
}

.admin-attention-editorial { --attention-color: #5bbdc3; }
.admin-attention-messages { --attention-color: #f09a67; }
.admin-attention-emails { --attention-color: #db7165; }
.admin-attention-donations { --attention-color: #8e8ad8; }

.admin-activity-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
}

.admin-activity-panel {
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 16px;
  min-width: 0;
  overflow: hidden;
}

.admin-activity-panel > header {
  align-items: center;
  border-bottom: 1px solid #e9edef;
  display: flex;
  justify-content: space-between;
  min-height: 62px;
  padding: 11px 15px;
}

.admin-activity-panel > header > div {
  align-items: center;
  display: flex;
  gap: 9px;
}

.admin-activity-icon {
  align-items: center;
  background: #eaf2f3;
  border-radius: 9px;
  color: #397079;
  display: flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.admin-activity-panel h3 {
  color: #273a44;
  font-size: .79rem;
  margin: 0;
}

.admin-activity-panel > header a {
  color: #71838c;
  font-size: .65rem;
  font-weight: 740;
}

.admin-activity-panel > header a:hover {
  color: #244e59;
}

.admin-activity-list {
  display: grid;
}

.admin-activity-list > a {
  align-items: center;
  color: #2a3d47;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) 14px;
  min-height: 63px;
  padding: 9px 15px;
  transition: background 130ms ease, color 130ms ease;
}

.admin-activity-list > a + a {
  border-top: 1px solid #eef1f2;
}

.admin-activity-list > a:hover,
.admin-activity-list > a:focus-visible {
  background: #f4f8f8;
  color: #173a42;
}

.admin-activity-list > a > span:nth-child(2) {
  display: grid;
  line-height: 1.3;
  min-width: 0;
}

.admin-activity-list strong {
  font-size: .71rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-activity-list small {
  color: #89969d;
  font-size: .6rem;
  margin-top: 2px;
}

.admin-activity-list i {
  color: #a1adb2;
  font-size: .68rem;
  font-style: normal;
}

html[data-theme="dark"] .admin-attention-card,
html[data-theme="dark"] .admin-activity-panel {
  background: #191f24;
  border-color: #2c363d;
  color: #eaf0f2;
}

html[data-theme="dark"] .admin-attention-card:hover,
html[data-theme="dark"] .admin-activity-list > a,
html[data-theme="dark"] .admin-activity-panel h3 {
  color: #eaf0f2;
}

html[data-theme="dark"] .admin-activity-panel > header,
html[data-theme="dark"] .admin-activity-list > a + a {
  border-color: #293238;
}

html[data-theme="dark"] .admin-activity-list > a:hover,
html[data-theme="dark"] .admin-activity-list > a:focus-visible {
  background: #202a30;
  color: #fff;
}

@media (max-width: 1220px) {
  .admin-attention-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .admin-attention-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .admin-attention-card,
  :root:not([data-theme]) .admin-activity-panel {
    background: #191f24;
    border-color: #2c363d;
    color: #eaf0f2;
  }

  :root:not([data-theme]) .admin-attention-card:hover,
  :root:not([data-theme]) .admin-activity-list > a,
  :root:not([data-theme]) .admin-activity-panel h3 {
    color: #eaf0f2;
  }

  :root:not([data-theme]) .admin-activity-panel > header,
  :root:not([data-theme]) .admin-activity-list > a + a {
    border-color: #293238;
  }

  :root:not([data-theme]) .admin-activity-list > a:hover,
  :root:not([data-theme]) .admin-activity-list > a:focus-visible {
    background: #202a30;
    color: #fff;
  }
}

/* Command palette -------------------------------------------------------- */
.admin-command-trigger {
  align-items: center;
  background: #f0f4f5;
  border: 1px solid #e0e7e9;
  border-radius: 10px;
  color: #6d7d85;
  cursor: pointer;
  display: flex;
  font: 680 .73rem/1 var(--font-sans);
  gap: 8px;
  min-height: 37px;
  padding: 0 6px 0 11px;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.admin-command-trigger > span:first-child {
  color: #354d58;
  font-size: 1rem;
}

.admin-command-trigger kbd {
  background: #fff;
  border: 1px solid #dce4e7;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgb(18 34 44 / 6%);
  color: #73828a;
  font: 700 .63rem/1 var(--font-sans);
  padding: 5px 7px;
}

.admin-command-trigger:hover,
.admin-command-trigger:focus-visible {
  background: #fff;
  border-color: #b9cbd0;
  color: #223943;
}

.admin-command-dialog {
  background: #fbfcfc;
  border: 1px solid rgb(255 255 255 / 80%);
  border-radius: 20px;
  box-shadow: 0 32px 90px rgb(4 15 22 / 32%);
  color: #1d2c35;
  margin: min(12vh, 100px) auto auto;
  max-height: min(720px, 78dvh);
  max-width: min(650px, calc(100vw - 28px));
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.admin-command-dialog::backdrop {
  backdrop-filter: blur(8px);
  background: rgb(7 18 25 / 62%);
}

.admin-command-dialog[open] {
  animation: admin-command-in 180ms cubic-bezier(.2, .8, .2, 1);
}

@keyframes admin-command-in {
  from { opacity: 0; transform: translateY(-12px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.admin-command-head {
  align-items: center;
  border-bottom: 1px solid #e5eaec;
  display: grid;
  gap: 10px;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  padding: 14px 16px;
}

.admin-command-head > span {
  color: #4d6873;
  font-size: 1.25rem;
  text-align: center;
}

.admin-command-head input {
  background: transparent;
  border: 0;
  color: #172631;
  font: 600 1rem/1.2 var(--font-sans);
  min-height: 42px;
  outline: 0;
  padding: 0;
  width: 100%;
}

.admin-command-head input::placeholder {
  color: #9aa7ad;
}

.admin-command-head button {
  background: #edf1f2;
  border: 0;
  border-radius: 7px;
  color: #708089;
  cursor: pointer;
  font: 700 .61rem/1 var(--font-sans);
  padding: 7px 8px;
}

.admin-command-head button:hover,
.admin-command-head button:focus-visible {
  background: #dde7e9;
  color: #263d47;
}

.admin-command-results {
  max-height: calc(min(720px, 78dvh) - 118px);
  overflow-y: auto;
  padding: 10px;
}

.admin-command-results section + section {
  border-top: 1px solid #e8edef;
  margin-top: 9px;
  padding-top: 9px;
}

.admin-command-results h2 {
  color: #89969d;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .13em;
  margin: 8px 9px 6px;
  text-transform: uppercase;
}

.admin-command-results a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #253943;
  display: grid;
  gap: 11px;
  grid-template-columns: 38px minmax(0, 1fr) 24px;
  min-height: 58px;
  padding: 8px;
}

.admin-command-results a[hidden] {
  display: none;
}

.admin-command-results a:hover,
.admin-command-results a:focus-visible,
.admin-command-results a.is-command-active {
  background: #eaf2f3;
  border-color: #dce8ea;
  color: #173b43;
  outline: 0;
}

.admin-command-symbol {
  align-items: center;
  background: #e8eff1;
  border-radius: 9px;
  color: #3d6871;
  display: flex;
  font-size: .95rem;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.admin-command-symbol svg {
  fill: none;
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 17px;
}

.admin-command-results a > span:nth-child(2) {
  display: grid;
  line-height: 1.25;
}

.admin-command-results strong {
  font-size: .78rem;
}

.admin-command-results small {
  color: #849199;
  font-size: .65rem;
  margin-top: 3px;
}

.admin-command-results i {
  color: #94a1a7;
  font-size: .72rem;
  font-style: normal;
  text-align: center;
}

.admin-command-empty {
  color: #7c8b92;
  font-size: .78rem;
  margin: 0;
  padding: 40px 20px;
  text-align: center;
}

.admin-command-footer {
  align-items: center;
  background: #f2f5f6;
  border-top: 1px solid #e5eaec;
  color: #89969d;
  display: flex;
  font-size: .59rem;
  font-weight: 680;
  gap: 15px;
  min-height: 38px;
  padding: 0 17px;
}

html[data-theme="dark"] .admin-command-trigger {
  background: #242c32;
  border-color: #303a41;
  color: #aab6bc;
}

html[data-theme="dark"] .admin-command-trigger kbd {
  background: #161b1f;
  border-color: #343e45;
}

html[data-theme="dark"] .admin-command-dialog {
  background: #171d22;
  border-color: #354049;
  color: #eef3f5;
}

html[data-theme="dark"] .admin-command-head,
html[data-theme="dark"] .admin-command-results section + section,
html[data-theme="dark"] .admin-command-footer {
  border-color: #2c353c;
}

html[data-theme="dark"] .admin-command-head input,
html[data-theme="dark"] .admin-command-results a {
  color: #eef3f5;
}

html[data-theme="dark"] .admin-command-head button,
html[data-theme="dark"] .admin-command-symbol,
html[data-theme="dark"] .admin-command-footer {
  background: #222a30;
}

html[data-theme="dark"] .admin-command-results a:hover,
html[data-theme="dark"] .admin-command-results a:focus-visible,
html[data-theme="dark"] .admin-command-results a.is-command-active {
  background: #243339;
  border-color: #30464d;
  color: #fff;
}

@media (max-width: 760px) {
  .admin-command-trigger > span:nth-child(2),
  .admin-command-trigger kbd {
    display: none;
  }

  .admin-command-trigger {
    justify-content: center;
    padding: 0;
    width: 37px;
  }

  .admin-command-dialog {
    border-radius: 16px 16px 0 0;
    margin: auto auto 0;
    max-height: 88dvh;
    max-width: 100%;
  }

  .admin-command-results {
    max-height: calc(88dvh - 118px);
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .admin-command-trigger {
    background: #242c32;
    border-color: #303a41;
    color: #aab6bc;
  }

  :root:not([data-theme]) .admin-command-trigger kbd {
    background: #161b1f;
    border-color: #343e45;
  }

  :root:not([data-theme]) .admin-command-dialog {
    background: #171d22;
    border-color: #354049;
    color: #eef3f5;
  }

  :root:not([data-theme]) .admin-command-head,
  :root:not([data-theme]) .admin-command-results section + section,
  :root:not([data-theme]) .admin-command-footer {
    border-color: #2c353c;
  }

  :root:not([data-theme]) .admin-command-head input,
  :root:not([data-theme]) .admin-command-results a {
    color: #eef3f5;
  }

  :root:not([data-theme]) .admin-command-head button,
  :root:not([data-theme]) .admin-command-symbol,
  :root:not([data-theme]) .admin-command-footer {
    background: #222a30;
  }

  :root:not([data-theme]) .admin-command-results a:hover,
  :root:not([data-theme]) .admin-command-results a:focus-visible,
  :root:not([data-theme]) .admin-command-results a.is-command-active {
    background: #243339;
    border-color: #30464d;
    color: #fff;
  }
}

.admin-list {
  display: grid;
  gap: 14px;
}

.admin-row {
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  padding: 14px;
}

.admin-row img {
  aspect-ratio: 3 / 4;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 18%);
  border: 1px solid var(--color-line);
  border-radius: 6px 2px 6px 2px;
  object-fit: cover;
  width: 72px;
}

.admin-row h3,
.admin-row p {
  margin: 0 0 6px;
}

.admin-row-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: end;
}

.admin-row-compact {
  grid-template-columns: 52px minmax(0, 1fr);
}

.admin-avatar {
  align-items: center;
  aspect-ratio: 1;
  background: color-mix(in srgb, var(--color-blue), var(--color-ink) 20%);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 860;
  justify-content: center;
  width: 52px;
}

.stats-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.stats-row span {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 44%);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-muted);
  font-size: .86rem;
  font-weight: 740;
  line-height: 1;
  padding: 7px 9px;
}

.bible-import-note {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 22%);
  border: 1px solid var(--color-line);
  margin-top: 18px;
}

.bible-landing-hero,
.bible-search-hero {
  align-items: center;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface), transparent 4%), color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 18%));
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 78%);
  border-radius: 28px 10px 28px 10px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: clamp(22px, 5vw, 46px);
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  margin-bottom: 42px;
  overflow: hidden;
  padding: clamp(24px, 5vw, 46px);
}

.bible-landing-copy p,
.bible-search-hero p {
  color: var(--color-muted);
  font-size: 1.08rem;
  max-width: 620px;
}

.bible-landing-media {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 130px;
}

.bible-landing-media img,
.bible-search-hero img {
  aspect-ratio: 4 / 3;
  border-radius: 24px 8px 24px 8px;
  box-shadow: 0 18px 44px rgb(23 25 28 / 14%);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.bible-landing-media img:nth-child(2) {
  align-self: end;
  aspect-ratio: 3 / 4;
  border-radius: 8px 22px 8px 22px;
  margin-bottom: -22px;
}

.bible-quick-search,
.bible-search-form {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.bible-search-line {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(96px, 140px) auto;
}

.bible-quick-search {
  grid-template-columns: minmax(0, 1fr) auto;
  max-width: 620px;
}

.bible-hero-actions {
  align-items: stretch;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  max-width: 620px;
}

.bible-action-button {
  align-items: center;
  border: 1px solid var(--color-line);
  border-radius: 18px 7px 18px 7px;
  display: grid;
  font-weight: 820;
  gap: 11px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 70px;
  padding: 11px 14px;
  position: relative;
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bible-action-button small {
  display: block;
  font-size: .69rem;
  font-weight: 680;
  letter-spacing: .06em;
  margin-bottom: 2px;
  opacity: .74;
  text-transform: uppercase;
}

.bible-action-button-primary {
  background: linear-gradient(135deg, #245f83, #7f3f39);
  border-color: #1d4e6b;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--color-blue), transparent 76%);
  color: #fff;
}

.bible-action-button-primary small {
  opacity: .88;
}

.bible-action-button-secondary {
  background: color-mix(in srgb, var(--color-surface), transparent 2%);
  color: var(--color-ink);
  grid-template-columns: auto minmax(0, 1fr);
}

.bible-action-icon {
  align-items: center;
  background: color-mix(in srgb, currentColor, transparent 86%);
  border: 1px solid color-mix(in srgb, currentColor, transparent 72%);
  border-radius: 50%;
  display: inline-flex;
  font-size: .85rem;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.bible-action-icon-search svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 2.25;
}

.bible-action-arrow {
  font-size: 1.25rem;
  transition: transform 180ms ease;
}

.bible-action-button-primary:hover,
.bible-action-button-primary:focus-visible {
  background: linear-gradient(135deg, #194866, #62312d);
  border-color: #153d57;
  box-shadow: 0 16px 32px color-mix(in srgb, var(--color-blue), transparent 66%);
  color: #fff;
  transform: translateY(-2px);
}

.bible-action-button-secondary:hover,
.bible-action-button-secondary:focus-visible {
  background: var(--color-ink);
  border-color: var(--color-ink);
  box-shadow: 0 14px 28px rgb(23 25 28 / 18%);
  color: var(--color-paper);
  transform: translateY(-2px);
}

.bible-action-button:active {
  box-shadow: 0 5px 12px rgb(23 25 28 / 16%);
  transform: translateY(1px) scale(.985);
  transition-duration: 70ms;
}

.bible-action-button:hover .bible-action-arrow,
.bible-action-button:focus-visible .bible-action-arrow {
  transform: translateX(4px);
}

.bible-search-example a {
  font-size: 1.08em;
  font-weight: 820;
}

.bible-reference {
  border-bottom: 2px dotted color-mix(in srgb, var(--color-accent), transparent 18%);
  color: inherit;
  cursor: help;
  font-size: 1.04em;
  font-weight: 760;
  text-decoration: none;
}

.bible-reference:hover,
.bible-reference:focus-visible,
.bible-reference[aria-expanded="true"] {
  border-bottom-style: solid;
  color: var(--color-accent-dark);
}

.verse-popover {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 18px 7px 18px 7px;
  box-shadow: 0 22px 54px rgb(23 25 28 / 22%);
  color: var(--color-ink);
  max-height: min(420px, calc(100vh - 24px));
  overflow: auto;
  padding: 0;
  position: absolute;
  z-index: 120;
}

.verse-popover[hidden] {
  display: none;
}

.verse-popover header {
  align-items: center;
  background: linear-gradient(135deg, #245f83, #7f3f39);
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
}

.verse-popover header small {
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 999px;
  font-size: .7rem;
  padding: 2px 7px;
}

.verse-popover p {
  font-family: "SBL Biblical Literature", var(--font-serif);
  font-size: 1.03rem;
  line-height: 1.58;
  margin: 0;
  padding: 15px 16px 10px;
}

.verse-popover sup {
  color: var(--color-accent-dark);
  font-family: var(--font-sans);
  font-size: .68em;
  font-weight: 820;
}

.verse-popover > a {
  align-items: center;
  border-top: 1px solid var(--color-line);
  color: var(--color-accent-dark);
  display: flex;
  font-size: .82rem;
  font-weight: 820;
  justify-content: space-between;
  margin-top: 3px;
  padding: 10px 16px;
}

.verse-popover-loading,
.verse-popover-error {
  color: var(--color-muted);
  font-family: var(--font-sans) !important;
  font-size: .9rem !important;
  padding: 16px !important;
}

.bible-api-demo {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 48%);
  border: 1px solid var(--color-line);
  border-radius: 22px 8px 22px 8px;
  margin-top: 30px;
  padding: clamp(20px, 4vw, 34px);
}

.bible-api-demo p:last-child {
  margin-bottom: 0;
}

.api-code {
  background: #17191c;
  border-radius: 10px;
  color: #f6f7f9;
  overflow-x: auto;
  padding: 14px 16px;
}

.bible-quick-search input,
.bible-search-line input,
.bible-search-line select {
  background: color-mix(in srgb, var(--color-paper) 45%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 10%);
  border-radius: 999px;
  color: var(--color-ink);
  font: inherit;
  min-height: 46px;
  padding: 0 16px;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}

.bible-quick-search input:focus,
.bible-search-line input:focus,
.bible-search-line select:focus {
  background: var(--color-surface);
  border-color: var(--color-blue);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-blue) 14%, transparent);
  outline: 0;
  transform: translateY(-1px);
}

.bible-search-form {
  background:
    radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--color-blue), transparent 90%), transparent 12rem),
    color-mix(in srgb, var(--color-surface), transparent 4%);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 12%);
  border-radius: 22px 8px 22px 8px;
  box-shadow: 0 14px 34px rgb(23 25 28 / 8%);
  margin-bottom: 34px;
  padding: clamp(18px, 4vw, 30px);
}

.bible-search-form > label {
  color: var(--color-muted);
  font-size: .86rem;
  font-weight: 820;
  text-transform: uppercase;
}

.bible-search-discovery {
  background: color-mix(in srgb, var(--color-soft-blue), transparent 48%);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 10%);
  border-radius: 18px 7px 18px 7px;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 6px;
  padding: 16px;
}

.bible-search-discovery > div {
  display: grid;
  gap: 8px;
}

.bible-search-discovery strong {
  color: var(--color-muted);
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.bible-search-suggestion-list,
.bible-search-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bible-search-suggestion-list a,
.bible-search-keywords a {
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent));
  box-shadow: 0 8px 18px rgb(23 25 28 / 4%);
  color: var(--color-ink);
  display: inline-flex;
  font-size: .86rem;
  font-weight: 720;
  justify-content: center;
  line-height: 1.2;
  min-height: 38px;
  text-align: center;
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 100ms ease;
  white-space: nowrap;
}

.bible-search-suggestion-list a {
  background: color-mix(in srgb, var(--color-surface) 88%, var(--color-soft-blue));
  border-radius: 15px 5px 15px 5px;
  padding: 0 14px;
}

.bible-search-keywords a {
  background: color-mix(in srgb, var(--color-paper) 72%, var(--color-surface));
  border-radius: 999px;
  min-height: 34px;
  padding: 0 12px;
}

.bible-search-suggestion-list a:hover,
.bible-search-suggestion-list a:focus-visible,
.bible-search-keywords a:hover,
.bible-search-keywords a:focus-visible {
  background: var(--color-ink);
  border-color: var(--color-ink);
  box-shadow: 0 14px 28px rgb(23 25 28 / 12%);
  color: var(--color-paper);
  outline: 0;
  text-decoration: none;
  transform: translateY(-1px);
}

.bible-search-suggestion-list a:active,
.bible-search-keywords a:active {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: #fff;
  transform: translateY(0) scale(.97);
}

.script-keyboards {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 10px;
}

.script-keyboards section {
  background: color-mix(in srgb, var(--color-surface), transparent 2%);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 8%);
  border-radius: 18px 7px 18px 7px;
  padding: 16px;
}

.script-keyboards h2 {
  color: var(--color-blue);
  font-size: .92rem;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.character-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.character-grid button {
  background: color-mix(in srgb, var(--color-paper) 50%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 10%);
  border-radius: 10px 4px 10px 4px;
  color: var(--color-ink);
  cursor: pointer;
  font: inherit;
  font-family: "SBL Biblical Literature", serif;
  font-size: 1.32rem;
  min-height: 42px;
  min-width: 42px;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 100ms ease;
}

.character-grid button:hover,
.character-grid button:focus {
  background: var(--color-blue);
  border-color: var(--color-blue);
  box-shadow: 0 10px 20px rgb(42 96 120 / 14%);
  color: #fff;
  outline: 0;
  transform: translateY(-1px);
}

.character-grid button:active {
  transform: translateY(0) scale(.94);
}

.bible-result-list {
  display: grid;
  gap: 14px;
}

.bible-result {
  background:
    radial-gradient(circle at 9% 10%, color-mix(in srgb, var(--color-blue), transparent 92%), transparent 9rem),
    var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 12%);
  border-left: 4px solid var(--color-blue);
  border-radius: 18px 7px 18px 7px;
  box-shadow: 0 12px 28px rgb(23 25 28 / 5%);
  padding: 18px 20px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 160ms ease;
}

.bible-result:hover,
.bible-result:focus-within {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 35%);
  box-shadow: 0 18px 38px rgb(42 96 120 / 11%);
  transform: translateY(-2px);
}

.bible-result h3 {
  font-size: 1.1rem;
  margin-bottom: 6px;
}

.bible-result p {
  margin-bottom: 0;
}

.bible-book-nav {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.bible-testament-card {
  background:
    radial-gradient(circle at 12% 0%, rgb(201 111 95 / 10%), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--color-surface), #fff 4%), color-mix(in srgb, var(--color-paper), #fff 12%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 18%);
  border-radius: 24px 8px 24px 8px;
  box-shadow: 0 18px 44px rgb(82 60 42 / 8%);
  min-width: 0;
  padding: clamp(18px, 3vw, 26px);
}

.bible-testament-title {
  align-items: center;
  border-bottom: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 18%);
  color: var(--color-accent-dark);
  display: flex;
  font-family: var(--font-sans);
  font-size: clamp(1.18rem, 2.2vw, 1.48rem);
  justify-content: space-between;
  letter-spacing: -.025em;
  margin: 0 0 16px;
  padding-bottom: 13px;
}

.bible-testament-title::after {
  background: color-mix(in srgb, var(--color-accent), transparent 72%);
  border-radius: 999px;
  content: "";
  height: 8px;
  width: 42px;
}

.bible-testament-books {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bible-book-card {
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid var(--color-line);
  border-radius: 10px;
  flex: 0 0 auto;
  position: relative;
}

.bible-book-card[open] {
  flex-basis: 100%;
}

.bible-book-card summary {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  list-style: none;
  min-height: 38px;
  padding: 0 11px;
}

.bible-book-card summary::-webkit-details-marker {
  display: none;
}

.bible-book-card summary span {
  font-weight: 780;
}

.bible-book-card summary small {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 45%);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-muted);
  display: inline-flex;
  font-size: .72rem;
  font-weight: 850;
  height: 22px;
  justify-content: center;
  min-width: 22px;
  padding: 0 6px;
}

.bible-book-card:hover,
.bible-book-card:focus-within {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 30%);
  box-shadow: 0 10px 26px rgb(23 25 28 / 8%);
}

@media (max-width: 860px) {
  .bible-book-nav {
    grid-template-columns: 1fr;
  }
}

.bible-chapter-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 100%;
  min-width: 0;
  padding: 0 10px 10px;
}

.bible-chapter-links a {
  align-items: center;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 7px;
  color: var(--color-ink);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 760;
  height: 30px;
  justify-content: center;
  min-width: 30px;
  padding: 0 7px;
}

.bible-chapter-links a:hover,
.bible-chapter-links a:focus {
  background: var(--color-button-accent-hover);
  border-color: transparent;
  color: #fff;
}

.bible-chapter-links a[aria-current="page"] {
  background: var(--color-ink);
  border-color: transparent;
  color: var(--color-paper);
}

.compact-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.bible-pager-link {
  align-items: center;
  backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--color-surface), transparent 6%);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  box-shadow: var(--shadow-soft);
  color: var(--color-ink);
  display: inline-flex;
  gap: 8px;
  justify-content: center;
  max-width: 138px;
  min-height: 46px;
  overflow: hidden;
  padding: 0 14px;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 100ms ease;
  white-space: nowrap;
  z-index: 70;
}

.bible-pager-link:hover,
.bible-pager-link:focus-visible {
  background: var(--color-button-accent-hover);
  border-color: transparent;
  color: #fff;
  text-decoration: none;
  transform: translateY(-50%) scale(1.04);
}

.bible-pager-link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent), transparent 42%);
  outline-offset: 3px;
}

.bible-pager-link:active {
  background: var(--color-button-accent-active);
  border-color: var(--color-button-accent-active);
  box-shadow: 0 2px 8px rgb(23 25 28 / 24%), inset 0 2px 3px rgb(0 0 0 / 18%);
  color: #fff;
  transform: translateY(-50%) scale(.94);
}

.bible-pager-link span {
  font-size: 1.35rem;
  line-height: 1;
}

.bible-pager-link strong {
  font-size: .9rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bible-pager-prev {
  left: max(14px, calc((100vw - 1320px) / 2));
}

.bible-pager-next {
  right: max(14px, calc((100vw - 1320px) / 2));
}

.bible-book-intro-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 10px 10px;
}

.bible-book-intro-preview p,
.bible-book-intro-preview small {
  color: var(--color-muted);
  font-size: .88rem;
  line-height: 1.55;
  margin: 0;
}

.bible-book-intro-preview small {
  color: color-mix(in srgb, var(--color-ink), transparent 22%);
  font-weight: 720;
}

.bible-chapter-intro-link a,
.bible-library-intro-link {
  color: var(--color-blue);
  font-size: .82rem;
  font-weight: 820;
  text-decoration: none;
}

.bible-chapter-intro-link a:hover,
.bible-chapter-intro-link a:focus,
.bible-library-intro-link:hover,
.bible-library-intro-link:focus {
  color: var(--color-accent);
}

.bible-book-intro-link {
  align-items: center;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 42%);
  border: 1px solid color-mix(in srgb, var(--color-blue), var(--color-line) 44%);
  border-radius: 999px;
  color: var(--color-blue);
  display: inline-flex;
  font-family: var(--font-sans);
  font-size: .78rem;
  font-weight: 840;
  gap: 7px;
  min-height: 30px;
  padding: 0 10px 0 7px;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 140ms ease, box-shadow 160ms ease;
}

.bible-book-intro-link span {
  align-items: center;
  background: color-mix(in srgb, var(--color-blue), transparent 82%);
  border-radius: 999px;
  display: inline-flex;
  font-size: .72rem;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.bible-book-intro-link strong {
  font-weight: 840;
  line-height: 1;
}

.bible-book-intro-link:hover,
.bible-book-intro-link:focus-visible {
  background: var(--color-blue);
  border-color: var(--color-blue);
  box-shadow: 0 10px 22px rgb(36 95 131 / 18%);
  color: #fff;
  transform: translateY(-1px);
}

.bible-book-intro-link:hover span,
.bible-book-intro-link:focus-visible span {
  background: rgb(255 255 255 / 18%);
}

.bible-book-intro-link:active {
  transform: translateY(1px) scale(.97);
}

.bible-chapter-intro-link {
  margin: -4px 0 18px;
}

.bible-library-intro-link {
  display: inline-flex;
  padding: 0 12px 8px;
}

.bible-book-introduction {
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 34%);
  border: 1px solid var(--color-line);
  border-radius: 18px 7px 18px 7px;
  box-shadow: var(--shadow-soft);
  margin: 22px auto 28px;
  max-width: 980px;
  overflow: hidden;
}

.bible-book-introduction summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  list-style: none;
  padding: 18px 20px;
}

.bible-book-introduction summary::-webkit-details-marker {
  display: none;
}

.bible-book-introduction summary span {
  color: var(--color-ink);
  font-size: 1rem;
  font-weight: 820;
}

.bible-book-introduction summary small {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 18%);
  border-radius: 999px;
  color: var(--color-blue);
  font-size: .72rem;
  font-weight: 820;
  padding: 5px 10px;
  white-space: nowrap;
}

.bible-book-introduction-grid {
  border-top: 1px solid var(--color-line);
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 20px;
}

.bible-book-introduction h2 {
  color: var(--color-ink);
  font-size: .92rem;
  margin: 0 0 10px;
}

.bible-book-introduction p,
.bible-book-introduction li {
  color: var(--color-muted);
  font-size: .95rem;
  line-height: 1.65;
}

.bible-book-introduction p {
  margin: 0 0 12px;
}

.bible-book-introduction ul {
  margin: 12px 0 0;
  padding-left: 18px;
}

.bible-book-introduction blockquote {
  border-left: 3px solid var(--color-accent);
  margin: 14px 0 0;
  padding-left: 14px;
}

.bible-book-introduction blockquote p {
  color: var(--color-ink);
  font-weight: 760;
}

.bible-book-introduction cite {
  color: var(--color-muted);
  display: block;
  font-size: .82rem;
  font-style: normal;
}

.bible-book-introduction-memory {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 44%);
  border-top: 1px solid var(--color-line);
  color: var(--color-ink) !important;
  font-weight: 780;
  margin: 0 !important;
  padding: 16px 20px;
}

.bible-introduction-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 34px auto 0;
}

.bible-introduction-action {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  gap: 10px;
  justify-content: center;
  min-height: 54px;
  min-width: min(100%, 210px);
  padding: 0 22px;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.bible-introduction-action span {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1rem;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.bible-introduction-action strong {
  font-family: var(--font-sans);
  font-size: .95rem;
  font-weight: 840;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.bible-introduction-action-primary {
  background: var(--color-accent);
  box-shadow: 0 16px 34px rgb(67 23 19 / 20%);
  color: var(--color-button-accent-text);
}

.bible-introduction-action-primary span {
  background: rgb(255 255 255 / 18%);
  color: #fff;
}

.bible-introduction-action-primary:hover,
.bible-introduction-action-primary:focus-visible {
  background: var(--color-button-accent-hover);
  box-shadow: 0 20px 40px rgb(67 23 19 / 26%);
  color: #fff;
  transform: translateY(-2px);
}

.bible-introduction-action-secondary {
  background: color-mix(in srgb, var(--color-paper), var(--color-surface) 28%);
  border: 1px solid var(--color-line);
  color: var(--color-ink);
}

.bible-introduction-action-secondary span {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 28%);
  color: var(--color-blue);
}

.bible-introduction-action-secondary:hover,
.bible-introduction-action-secondary:focus-visible {
  background: var(--color-soft);
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 42%);
  color: var(--color-ink);
  transform: translateY(-2px);
}

.bible-introduction-action:active {
  transform: translateY(1px) scale(.97);
}

.bible-introduction-page {
  max-width: 820px;
}

.bible-introduction-hero {
  border-bottom: 1px solid var(--color-line);
  margin: 0 auto 28px;
  padding-bottom: 24px;
  text-align: center;
}

.bible-introduction-hero h1 {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

.bible-introduction-hero .article-lead {
  color: var(--color-blue);
  font-family: var(--font-sans);
  font-size: .95rem;
  font-weight: 820;
  letter-spacing: .03em;
  margin: 16px auto 0;
  text-transform: uppercase;
}

.bible-introduction-body {
  display: grid;
  gap: 26px;
}

.bible-introduction-section {
  border-bottom: 1px solid var(--color-line);
  padding-bottom: 24px;
}

.bible-introduction-section h2 {
  color: var(--color-ink);
  font-family: var(--font-sans);
  font-size: 1rem;
  letter-spacing: .08em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.bible-introduction-section p,
.bible-introduction-section li {
  color: var(--color-muted);
  font-size: 1.05rem;
  line-height: 1.78;
}

.bible-introduction-section p {
  margin: 0 0 14px;
}

.bible-introduction-section p:last-child {
  margin-bottom: 0;
}

.bible-introduction-section strong {
  color: var(--color-ink);
  font-weight: 820;
}

.bible-introduction-quote {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 54%);
  border-left: 4px solid var(--color-accent);
  margin: 2px 0;
  padding: 22px 24px;
}

.bible-introduction-quote p {
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
  line-height: 1.38;
  margin: 0;
}

.bible-introduction-quote cite {
  color: var(--color-muted);
  display: block;
  font-family: var(--font-sans);
  font-size: .9rem;
  font-style: normal;
  font-weight: 760;
  margin-top: 12px;
}

.bible-introduction-cautions ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bible-introduction-cautions li {
  border-left: 3px solid color-mix(in srgb, var(--color-accent), var(--color-line) 36%);
  padding-left: 14px;
}

.bible-introduction-memory {
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-size: clamp(1.28rem, 2.2vw, 1.68rem);
  font-weight: 760;
  line-height: 1.45;
  margin: 4px 0 0;
  text-align: center;
}

.bible-introductions-hero {
  border-bottom: 1px solid var(--color-line);
  margin: 0 auto 34px;
  max-width: 900px;
  padding: clamp(28px, 5vw, 54px) 0 30px;
  text-align: center;
}

.bible-introductions-hero h1 {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

.bible-introductions-hero p:not(.eyebrow) {
  color: var(--color-muted);
  font-size: clamp(1.05rem, 2vw, 1.22rem);
  line-height: 1.7;
  margin: 14px auto 0;
  max-width: 720px;
}

.bible-introductions-nav {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bible-introductions-list {
  display: grid;
  gap: 12px;
}

.bible-introduction-card {
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 18%);
  border: 1px solid var(--color-line);
  border-radius: 8px;
  color: var(--color-ink);
  display: grid;
  gap: 9px;
  padding: 14px;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 140ms ease;
}

.bible-introduction-card:hover,
.bible-introduction-card:focus-visible {
  background: var(--color-paper);
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 34%);
  box-shadow: 0 14px 30px rgb(36 95 131 / 12%);
  transform: translateY(-2px);
}

.bible-introduction-card > span {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.bible-introduction-card strong {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 850;
}

.bible-introduction-card small {
  color: var(--color-blue);
  font-size: .75rem;
  font-weight: 820;
}

.bible-introduction-card p,
.bible-introduction-card em {
  color: var(--color-muted);
  font-size: .92rem;
  line-height: 1.55;
  margin: 0;
}

.bible-introduction-card em {
  color: color-mix(in srgb, var(--color-ink), transparent 18%);
  font-style: normal;
  font-weight: 760;
}

.bible-introduction-outline ol {
  counter-reset: intro-outline;
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bible-introduction-outline li {
  border-left: 3px solid color-mix(in srgb, var(--color-blue), var(--color-line) 32%);
  counter-increment: intro-outline;
  padding-left: 14px;
}

.bible-introduction-outline li::before {
  color: var(--color-blue);
  content: counter(intro-outline, decimal-leading-zero);
  display: block;
  font-family: var(--font-sans);
  font-size: .72rem;
  font-weight: 860;
  letter-spacing: .08em;
  margin-bottom: 4px;
}

.bible-introduction-outline li strong {
  display: inline;
}

.bible-introduction-outline li span {
  color: var(--color-muted);
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 800;
  margin-left: 8px;
}

.bible-introduction-outline li p {
  font-size: .98rem;
  margin-top: 6px;
}

.bible-introduction-tags {
  margin-top: 4px;
}

@media (max-width: 760px) {
  .bible-book-introduction summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .bible-book-introduction-grid {
    grid-template-columns: 1fr;
  }

  .bible-introductions-nav {
    grid-template-columns: 1fr;
  }
}

.bible-version-dock {
  align-items: center;
  backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  box-shadow: var(--shadow-soft);
  display: inline-flex;
  gap: 10px;
  left: 50%;
  padding: 6px 8px 6px 14px;
  position: fixed;
  top: 92px;
  transform: translateX(-50%);
  z-index: 17;
}

.bible-version-trigger {
  align-items: center;
  backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  box-shadow: none;
  color: var(--color-ink);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 760;
  min-height: 42px;
  padding: 0 18px;
}

.bible-library-trigger {
  align-items: center;
  background: var(--color-ink);
  border: 1px solid var(--color-ink);
  border-radius: 999px;
  color: var(--color-paper);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 760;
  gap: 9px;
  min-height: 42px;
  padding: 0 18px;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 160ms ease;
}

.bible-library-trigger span {
  font-size: .92rem;
  letter-spacing: 0;
}

.bible-library-trigger:hover,
.bible-library-trigger:focus {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: #fff;
}

.bible-library-trigger:active {
  transform: scale(.96);
}

.bible-version-trigger:hover,
.bible-version-trigger:focus {
  background: var(--color-button-accent-hover);
  border-color: transparent;
  color: #fff;
}

.bible-version-trigger:active {
  background: var(--color-button-accent-active);
  color: #fff;
}

.version-choice-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin: 18px 0 20px;
}

.version-choice {
  border: 1px solid var(--color-line);
  border-radius: 12px 6px 12px 6px;
  display: grid;
  gap: 8px;
  padding: 10px;
}

.version-choice a {
  border-radius: 9px 4px 9px 4px;
  color: var(--color-ink);
  display: grid;
  gap: 2px;
  margin: -5px;
  padding: 8px;
  transition: background 180ms ease, color 180ms ease, transform 150ms ease;
}

.version-choice a:hover,
.version-choice a:focus {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 24%);
  color: var(--color-blue);
  text-decoration: none;
  transform: translateY(-2px);
}

.version-choice a:active {
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 76%);
  transform: translateY(0) scale(.97);
}

.version-choice a[aria-current="true"] {
  background: var(--color-ink);
  color: var(--color-paper);
}

.version-choice a[aria-current="true"] small,
.version-choice a[aria-current="true"] span {
  color: var(--color-paper);
}

.version-choice-unavailable {
  border-radius: 9px 4px 9px 4px;
  color: color-mix(in srgb, var(--color-muted), transparent 18%);
  display: grid;
  gap: 2px;
  margin: -5px;
  padding: 8px;
}

.version-choice-unavailable em {
  color: color-mix(in srgb, var(--color-muted), transparent 28%);
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
}

.version-card {
  color: var(--color-ink);
  display: grid;
  gap: 8px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.version-card-action {
  display: block;
}

.version-card strong {
  font-family: var(--font-sans);
  font-size: 1.08rem;
}

.version-card-rights {
  color: var(--color-muted);
  display: -webkit-box;
  font-size: .74rem;
  line-height: 1.45;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.version-card:hover,
.version-card:focus {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 24%);
  box-shadow: 0 16px 34px rgb(23 25 28 / 12%);
  text-decoration: none;
  transform: translateY(-2px);
}

.version-choice span {
  font-weight: 900;
}

.version-choice small {
  color: var(--color-muted);
  font-size: .8rem;
}

.version-choice label {
  align-items: center;
  color: var(--color-muted);
  display: flex;
  font-size: .86rem;
  gap: 8px;
}

.bible-translation-gtr {
  font-family: "SBL Greek", "SBL Biblical Literature", serif;
}

.bible-translation-wlc {
  direction: rtl;
  font-family: "SBL Hebrew", "SBL Biblical Literature", serif;
  text-align: right;
}

.verse-comparison {
  border-top: 1px solid color-mix(in srgb, var(--color-line), transparent 30%);
  color: var(--color-muted);
  display: block;
  font-size: .94rem;
  line-height: 1.65;
  margin-top: 10px;
  padding-top: 10px;
}

.bible-reader-tools {
  align-items: center;
  display: inline-flex;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .82rem;
  font-weight: 760;
  gap: 6px;
  letter-spacing: 0;
  line-height: 1;
}

.bible-font-tools {
  align-items: center;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 62%);
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 78%);
  border-radius: 999px;
  display: inline-flex;
  padding: 4px;
}

.bible-font-tools button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--color-ink);
  cursor: pointer;
  font: inherit;
  font-weight: 860;
  min-height: 34px;
  min-width: 38px;
  padding: 0 10px;
}

.bible-font-tools button:hover,
.bible-font-tools button:focus,
.bible-font-tools button[aria-pressed="true"] {
  background: var(--color-ink);
  color: var(--color-paper);
}

.bible-font-tools button:disabled {
  cursor: default;
  opacity: .42;
}

.bible-chapter {
  font-size: 1.42rem;
  line-height: 1.86;
}

.article-body.bible-chapter > p {
  font-size: 1.42rem;
}

.article-body.bible-chapter > p > sup {
  color: var(--color-accent-dark);
  font-family: var(--font-sans);
  font-weight: 850;
}

html[data-theme="dark"] .article-body.bible-chapter > p > sup {
  color: #e9a486;
}

.article-body.bible-chapter.bible-translation-gtr,
.article-body.bible-chapter.bible-translation-gtr > p {
  font-size: 1.9rem;
  line-height: 1.82;
}

.article-body.bible-chapter.bible-translation-wlc,
.article-body.bible-chapter.bible-translation-wlc > p {
  font-size: 2.08rem;
  line-height: 1.78;
}

html[data-bible-font="normal"] .bible-chapter,
html[data-bible-font="normal"] .bible-chapter p {
  font-size: 1.42rem;
}

html[data-bible-font="small"] .bible-chapter,
html[data-bible-font="small"] .bible-chapter p {
  font-size: 1.2rem;
}

html[data-bible-font="large"] .bible-chapter,
html[data-bible-font="large"] .bible-chapter p {
  font-size: 1.58rem;
}

html[data-bible-font="xlarge"] .bible-chapter,
html[data-bible-font="xlarge"] .bible-chapter p {
  font-size: 1.76rem;
}

html[data-bible-font="xxlarge"] .bible-chapter,
html[data-bible-font="xxlarge"] .bible-chapter p {
  font-size: 1.96rem;
}

html[data-bible-font="normal"] .bible-chapter.bible-translation-gtr,
html[data-bible-font="normal"] .bible-chapter.bible-translation-gtr p {
  font-size: 1.9rem;
  line-height: 1.82;
}

html[data-bible-font="normal"] .bible-chapter.bible-translation-wlc,
html[data-bible-font="normal"] .bible-chapter.bible-translation-wlc p {
  font-size: 2.08rem;
  line-height: 1.78;
}

html[data-bible-font="small"] .bible-chapter.bible-translation-gtr,
html[data-bible-font="small"] .bible-chapter.bible-translation-gtr p {
  font-size: 1.62rem;
  line-height: 1.82;
}

html[data-bible-font="small"] .bible-chapter.bible-translation-wlc,
html[data-bible-font="small"] .bible-chapter.bible-translation-wlc p {
  font-size: 1.78rem;
  line-height: 1.78;
}

html[data-bible-font="large"] .bible-chapter.bible-translation-gtr,
html[data-bible-font="large"] .bible-chapter.bible-translation-gtr p {
  font-size: 2.12rem;
  line-height: 1.82;
}

html[data-bible-font="large"] .bible-chapter.bible-translation-wlc,
html[data-bible-font="large"] .bible-chapter.bible-translation-wlc p {
  font-size: 2.3rem;
  line-height: 1.78;
}

html[data-bible-font="xlarge"] .bible-chapter.bible-translation-gtr,
html[data-bible-font="xlarge"] .bible-chapter.bible-translation-gtr p {
  font-size: 2.36rem;
  line-height: 1.82;
}

html[data-bible-font="xlarge"] .bible-chapter.bible-translation-wlc,
html[data-bible-font="xlarge"] .bible-chapter.bible-translation-wlc p {
  font-size: 2.56rem;
  line-height: 1.78;
}

html[data-bible-font="xxlarge"] .bible-chapter.bible-translation-gtr,
html[data-bible-font="xxlarge"] .bible-chapter.bible-translation-gtr p {
  font-size: 2.62rem;
  line-height: 1.82;
}

html[data-bible-font="xxlarge"] .bible-chapter.bible-translation-wlc,
html[data-bible-font="xxlarge"] .bible-chapter.bible-translation-wlc p {
  font-size: 2.84rem;
  line-height: 1.78;
}

.verse-variants {
  background: color-mix(in srgb, var(--color-soft-blue) 35%, transparent);
  border-left: 3px solid color-mix(in srgb, var(--color-accent), var(--color-line) 30%);
  border-radius: 0 10px 10px 0;
  color: var(--color-muted);
  display: grid;
  font-family: var(--font-sans);
  font-size: .78rem !important;
  gap: 6px;
  line-height: 1.45 !important;
  margin: 10px 0 2px 2.1rem;
  padding: 8px 10px;
}

.verse-variants > strong {
  color: var(--color-accent-dark);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.verse-variants > span {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.verse-variants small {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-muted);
  font-size: .76rem !important;
  line-height: 1.25 !important;
  padding: 5px 8px;
}

.verse-variants small[aria-current="true"] {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 40%);
  color: var(--color-ink);
}

.verse-variants b {
  color: var(--color-accent-dark);
  font-weight: 850;
}

.note-ref {
  background: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-accent) 28%, var(--color-line));
  border-radius: 999px;
  color: var(--color-accent-dark);
  display: inline-flex;
  font-family: var(--font-sans);
  font-size: .62em;
  font-weight: 850;
  line-height: 1;
  margin-inline: .12rem;
  padding: .16rem .25rem;
  vertical-align: super;
}

.verse-footnotes {
  background: color-mix(in srgb, var(--color-surface) 88%, var(--color-soft-blue));
  border: 1px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent));
  border-radius: 10px;
  color: var(--color-muted);
  display: grid;
  font-family: var(--font-sans);
  font-size: .76rem !important;
  gap: 6px;
  line-height: 1.45 !important;
  margin: 10px 0 2px 2.1rem;
  padding: 8px 10px;
}

.verse-footnotes > strong {
  color: var(--color-accent-dark);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.verse-footnotes small {
  color: var(--color-muted);
  font-size: .76rem !important;
  line-height: 1.45 !important;
}

.verse-footnotes b {
  color: var(--color-accent-dark);
  font-weight: 850;
}

.verse-comparison .verse-variants {
  margin-left: 0;
  margin-top: 12px;
}

.verse-comparison .verse-variants small {
  font-size: .7rem !important;
}

.verse-comparison.bible-translation-gtr {
  color: color-mix(in srgb, var(--color-ink), transparent 10%);
  font-size: 1.34em;
  line-height: 1.58;
}

.verse-comparison.bible-translation-wlc {
  color: color-mix(in srgb, var(--color-ink), transparent 8%);
  font-size: 1.52em;
  line-height: 1.52;
}

.verse-comparison strong {
  color: var(--color-accent-dark);
  direction: ltr;
  display: inline-flex;
  font-family: var(--font-sans);
  font-size: .8rem;
  margin-right: 8px;
}

.bible-copyright-notice {
  background: color-mix(in srgb, var(--color-surface) 86%, var(--color-paper));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 16px 5px 16px 5px;
  color: var(--color-muted);
  display: grid;
  gap: 6px;
  margin: 22px clamp(18px, 5.5vw, 72px) 0 clamp(24px, 7vw, 92px);
  padding: 14px 16px;
}

.bible-copyright-notice strong {
  color: var(--color-accent-dark);
  font-size: .68rem;
  font-weight: 880;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bible-copyright-notice p {
  font-size: .82rem;
  line-height: 1.55;
  margin: 0;
}

.bible-copyright-notice small {
  color: color-mix(in srgb, var(--color-muted), var(--color-text) 10%);
  display: block;
  font-size: .7rem;
  line-height: 1.45;
}

.bible-version-dock label {
  color: var(--color-muted);
  font-size: .82rem;
  font-weight: 820;
  text-transform: uppercase;
}

.bible-version-dock select {
  background: var(--color-ink);
  border: 0;
  border-radius: 999px;
  color: var(--color-paper);
  font: inherit;
  font-weight: 820;
  min-height: 34px;
  padding: 0 28px 0 12px;
}

.article {
  margin: 0 auto;
  max-width: 760px;
}

.bible-article.reveal {
  opacity: 1;
  transform: none;
}

.article h1 {
  font-size: clamp(2rem, 5vw, 3.6rem);
}

.static-page,
.placeholder-page {
  max-width: 980px;
}

.static-page {
  background: color-mix(in srgb, var(--color-surface) 94%, var(--color-soft-blue));
  border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent));
  border-radius: 30px 8px 30px 8px;
  box-shadow: 0 24px 58px rgb(23 25 28 / 8%);
  overflow: hidden;
  padding: clamp(32px, 6vw, 72px);
}

.static-page > .eyebrow {
  color: var(--color-accent);
}

.static-page > h1 {
  font-size: clamp(2.8rem, 6vw, 5.8rem);
  letter-spacing: -.06em;
  line-height: .95;
  margin: 18px 0 24px;
  max-width: 760px;
}

.static-page .lead {
  background: #fffaf5;
  box-shadow: 0 16px 38px rgb(23 25 28 / 6%);
  margin-inline: clamp(16px, 5vw, 78px) 0;
}

.static-page .article-body {
  margin-inline: clamp(16px, 5vw, 78px) clamp(8px, 3vw, 38px);
}

.utility-page {
  max-width: 1180px;
}

.utility-hero {
  background:
    radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--color-accent), transparent 82%), transparent 12rem),
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface), #fff 12%), color-mix(in srgb, var(--color-paper), #fff 6%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 12%);
  border-radius: 28px 8px 30px 8px;
  box-shadow: 0 22px 58px rgb(23 25 28 / 8%);
  margin-bottom: clamp(24px, 4vw, 42px);
  padding: clamp(30px, 6vw, 68px);
}

.utility-hero h1 {
  font-size: clamp(3rem, 6.5vw, 6.2rem);
  letter-spacing: -.06em;
  line-height: .92;
  margin: 16px 0 18px;
}

.utility-hero p {
  color: var(--color-muted);
  font-size: clamp(1.02rem, 2vw, 1.22rem);
  max-width: 720px;
}

.utility-hero small {
  color: var(--color-muted);
  display: inline-block;
  font-weight: 760;
  margin-top: 18px;
}

.utility-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.utility-card {
  background: color-mix(in srgb, var(--color-surface), #fff 8%);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 8%);
  border-radius: 18px 7px 20px 7px;
  box-shadow: 0 16px 38px rgb(23 25 28 / 6%);
  padding: clamp(22px, 4vw, 32px);
}

.utility-card-heading {
  align-items: center;
  border-bottom: 1px solid color-mix(in srgb, var(--color-line), transparent 12%);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 14px;
}

.utility-card h2 {
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: -.03em;
  margin: 0;
}

.utility-card-heading span {
  background: color-mix(in srgb, var(--color-accent), transparent 86%);
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 72%);
  border-radius: 999px;
  color: var(--color-accent-dark);
  font-size: .74rem;
  font-weight: 840;
  min-width: 34px;
  padding: 5px 9px;
  text-align: center;
}

.utility-link-list {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.utility-link-list a {
  align-items: center;
  border-radius: 10px 4px 11px 4px;
  color: var(--color-ink);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 10px 12px;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.utility-link-list a:hover,
.utility-link-list a:focus-visible {
  background: color-mix(in srgb, var(--color-accent), transparent 88%);
  color: var(--color-accent-dark);
  transform: translateX(3px);
}

.utility-link-list a:active {
  background: color-mix(in srgb, var(--color-accent), transparent 78%);
  color: var(--color-accent-dark);
  transform: translateX(1px) scale(.99);
}

.utility-link-list b {
  color: var(--color-accent);
}

.legal-layout {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
}

.legal-summary {
  position: sticky;
  top: 110px;
}

.legal-summary p {
  color: var(--color-muted);
}

.legal-sections {
  display: grid;
  gap: 16px;
}

.legal-definition-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.legal-definition-list div {
  border-bottom: 1px solid var(--color-line);
  display: grid;
  gap: 8px;
  grid-template-columns: 160px minmax(0, 1fr);
  padding-bottom: 12px;
}

.legal-definition-list div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.legal-definition-list dt {
  color: var(--color-muted);
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.legal-definition-list dd {
  margin: 0;
}

@media (max-width: 860px) {
  .utility-grid,
  .legal-layout {
    grid-template-columns: 1fr;
  }

  .legal-summary {
    position: static;
  }
}

@media (max-width: 560px) {
  .utility-card-heading,
  .legal-definition-list div {
    align-items: start;
    grid-template-columns: 1fr;
  }
}

.placeholder-page {
  align-items: center;
  background:
    radial-gradient(circle at 20% 18%, rgb(232 161 126 / 28%), transparent 25%),
    linear-gradient(135deg, #171514, #2b211e 72%, #171514);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 34px 9px 34px 9px;
  box-shadow: 0 34px 80px rgb(23 18 16 / 15%);
  color: #fffaf5;
  display: grid;
  gap: clamp(30px, 7vw, 82px);
  grid-template-columns: minmax(140px, .45fr) minmax(0, 1.55fr);
  min-height: 520px;
  overflow: hidden;
  padding: clamp(36px, 7vw, 82px);
  position: relative;
}

.placeholder-page::after {
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
  content: "";
  height: 380px;
  position: absolute;
  right: -135px;
  top: -170px;
  width: 380px;
}

.placeholder-page > span {
  color: #e9a486;
  font-size: clamp(6rem, 15vw, 12rem);
  font-weight: 100;
  justify-self: center;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.placeholder-page > div {
  position: relative;
  z-index: 1;
}

.placeholder-page .eyebrow {
  color: #e9a486;
}

.placeholder-page h1 {
  color: inherit;
  font-size: clamp(3rem, 7vw, 6rem);
  letter-spacing: -.06em;
  line-height: .94;
  margin: 20px 0 24px;
}

.placeholder-page p:not(.eyebrow) {
  color: rgb(255 250 245 / 68%);
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  line-height: 1.75;
  max-width: 650px;
}

.placeholder-page nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 30px;
}

.placeholder-page .button {
  background: #fffaf5;
  color: #712921;
}

.placeholder-page .button:hover,
.placeholder-page .button:focus-visible {
  background: #e9a486;
  color: #281713;
}

.placeholder-page .text-link {
  color: #fffaf5;
  font-weight: 820;
}

.placeholder-page .text-link:hover,
.placeholder-page .text-link:focus-visible {
  color: #e9a486;
}

.prayer-box {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 28%);
  border-left: 4px solid var(--color-blue);
  border-radius: var(--radius-card);
  margin-top: 40px;
  padding: 24px;
}

.prayer-text p {
  margin: 0 0 1.15em;
}

.media-card {
  display: grid;
  gap: 14px;
}

.media-placeholder {
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(circle at 78% 18%, rgb(255 255 255 / 34%), transparent 70px),
    linear-gradient(135deg, color-mix(in srgb, var(--color-blue), var(--color-ink) 18%), var(--color-accent));
  border-radius: 16px 6px 18px 6px;
  min-height: 150px;
  position: relative;
}

.media-placeholder::before {
  align-items: center;
  background: rgb(255 255 255 / 88%);
  border-radius: 999px;
  color: var(--color-blue);
  display: inline-flex;
  font-size: 2rem;
  font-weight: 900;
  height: 62px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 62px;
}

.media-placeholder-video::before {
  content: "▶";
  padding-left: 4px;
}

.media-placeholder-podcast::before {
  content: "♪";
}

.media-hub {
  display: grid;
  gap: clamp(24px, 4vw, 44px);
}

.media-hub-hero {
  background:
    radial-gradient(circle at 82% 22%, rgb(217 113 74 / 25%), transparent 25%),
    linear-gradient(132deg, #171514 0%, #27211f 62%, #171514 100%);
  border-radius: 34px 10px 34px 10px;
  color: #fffaf5;
  display: grid;
  gap: 30px clamp(30px, 6vw, 90px);
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  min-height: clamp(400px, 54vw, 590px);
  overflow: hidden;
  padding: clamp(34px, 7vw, 88px);
  position: relative;
}

.media-hub-hero::before,
.media-hub-hero::after {
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: "";
  height: 370px;
  position: absolute;
  right: -105px;
  top: -170px;
  width: 370px;
}

.media-hub-hero::after {
  height: 190px;
  right: 42px;
  top: -76px;
  width: 190px;
}

.media-hub-copy {
  align-self: center;
  max-width: 760px;
  position: relative;
  z-index: 1;
}

.media-hub-copy .eyebrow {
  color: #e9a486;
}

.media-hub-copy h1 {
  color: inherit;
  font-size: clamp(2.65rem, 6.6vw, 6.2rem);
  letter-spacing: -.055em;
  line-height: .94;
  margin: 20px 0 28px;
  max-width: 930px;
}

.media-hub-copy h1 em {
  color: #e9a486;
  display: block;
  font-family: var(--font-serif);
  font-weight: 400;
}

.media-hub-copy > p:last-child {
  color: rgb(255 250 245 / 70%);
  font-size: clamp(1rem, 1.6vw, 1.22rem);
  line-height: 1.65;
  max-width: 610px;
}

.media-hub-signal {
  align-items: center;
  align-self: center;
  display: flex;
  gap: clamp(4px, .7vw, 9px);
  height: 190px;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.media-hub-signal i {
  animation: media-signal var(--signal-duration, 2.8s) cubic-bezier(.45, 0, .25, 1) infinite;
  animation-delay: var(--signal-delay, 0ms);
  background: linear-gradient(to top, #b7372d, #e9a486);
  border-radius: 999px;
  height: var(--signal-height);
  opacity: .86;
  transform-origin: center;
  width: clamp(4px, .55vw, 8px);
}

.media-hub-signal i:nth-child(1) { --signal-duration: 2.62s; --signal-delay: -120ms; --signal-low: .58; --signal-high: .82; }
.media-hub-signal i:nth-child(2) { --signal-duration: 2.7s; --signal-delay: -260ms; --signal-low: .52; --signal-high: .88; }
.media-hub-signal i:nth-child(3) { --signal-duration: 2.84s; --signal-delay: -420ms; --signal-low: .47; --signal-high: .94; }
.media-hub-signal i:nth-child(4) { --signal-duration: 2.98s; --signal-delay: -610ms; --signal-low: .43; --signal-high: .98; }
.media-hub-signal i:nth-child(5) { --signal-duration: 3.12s; --signal-delay: -780ms; --signal-low: .45; --signal-high: .96; }
.media-hub-signal i:nth-child(6) { --signal-duration: 3.24s; --signal-delay: -940ms; --signal-low: .5; --signal-high: .91; }
.media-hub-signal i:nth-child(7) { --signal-duration: 3.18s; --signal-delay: -1110ms; --signal-low: .56; --signal-high: .85; }
.media-hub-signal i:nth-child(8) { --signal-duration: 3.04s; --signal-delay: -1280ms; --signal-low: .6; --signal-high: .8; }
.media-hub-signal i:nth-child(9) { --signal-duration: 2.92s; --signal-delay: -1460ms; --signal-low: .55; --signal-high: .86; }
.media-hub-signal i:nth-child(10) { --signal-duration: 2.8s; --signal-delay: -1620ms; --signal-low: .48; --signal-high: .93; }
.media-hub-signal i:nth-child(11) { --signal-duration: 2.68s; --signal-delay: -1780ms; --signal-low: .42; --signal-high: .99; }
.media-hub-signal i:nth-child(12) { --signal-duration: 2.56s; --signal-delay: -1960ms; --signal-low: .44; --signal-high: .97; }
.media-hub-signal i:nth-child(13) { --signal-duration: 2.66s; --signal-delay: -2140ms; --signal-low: .5; --signal-high: .9; }
.media-hub-signal i:nth-child(14) { --signal-duration: 2.82s; --signal-delay: -2320ms; --signal-low: .57; --signal-high: .84; }
.media-hub-signal i:nth-child(15) { --signal-duration: 3s; --signal-delay: -2500ms; --signal-low: .61; --signal-high: .79; }
.media-hub-signal i:nth-child(16) { --signal-duration: 3.16s; --signal-delay: -2680ms; --signal-low: .56; --signal-high: .86; }

.media-hub-note {
  align-items: center;
  bottom: clamp(26px, 5vw, 58px);
  color: rgb(255 250 245 / 55%);
  display: flex;
  font-size: .76rem;
  gap: 10px;
  grid-column: 1 / -1;
  letter-spacing: .04em;
  margin: 0;
  position: absolute;
  right: clamp(34px, 7vw, 88px);
}

.media-hub-note span {
  background: #e9a486;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgb(233 164 134 / 12%);
  height: 6px;
  width: 6px;
}

@keyframes media-signal {
  0% { transform: translateY(4px) scaleY(var(--signal-low, .54)); }
  26% { transform: translateY(-5px) scaleY(var(--signal-high, .92)); }
  54% { transform: translateY(1px) scaleY(.72); }
  78% { transform: translateY(5px) scaleY(var(--signal-low, .54)); }
  100% { transform: translateY(4px) scaleY(var(--signal-low, .54)); }
}

.media-hub-grid {
  display: grid;
  gap: clamp(18px, 3vw, 34px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.media-hub-card {
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 8%);
  border-radius: 28px 8px 28px 8px;
  box-shadow: 0 18px 48px rgb(23 25 28 / 8%);
  display: grid;
  grid-template-rows: minmax(280px, 1fr) auto;
  min-height: 570px;
  overflow: hidden;
  position: relative;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.media-hub-card::after {
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent), transparent 88%), transparent 58%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 220ms ease;
  z-index: 1;
}

.media-hub-card:hover,
.media-hub-card:focus-within {
  border-color: color-mix(in srgb, var(--color-accent) 38%, var(--color-line));
  box-shadow: 0 28px 70px rgb(23 25 28 / 15%);
  transform: translateY(-7px);
}

.media-hub-card:hover::after,
.media-hub-card:focus-within::after {
  opacity: 1;
}

.media-hub-card:active {
  transform: translateY(-2px) scale(.995);
}

.media-hub-card-link {
  inset: 0;
  position: absolute;
  z-index: 4;
}

.media-hub-card-link:focus-visible {
  border-radius: inherit;
  box-shadow: inset 0 0 0 3px var(--color-accent);
  outline: 0;
}

.media-hub-visual {
  background: #c9d4d6;
  min-height: 300px;
  overflow: hidden;
  position: relative;
}

.media-hub-visual::after {
  background: linear-gradient(to top, rgb(0 0 0 / 15%), transparent 50%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.media-hub-card-video .media-hub-visual {
  background:
    radial-gradient(circle at 76% 25%, rgb(255 255 255 / 45%), transparent 23%),
    linear-gradient(145deg, #aebfc3, #657f86);
}

.media-hub-card-audio .media-hub-visual {
  background:
    radial-gradient(circle at 28% 22%, rgb(255 244 228 / 45%), transparent 22%),
    linear-gradient(145deg, #ddae86, #9c543d);
}

.media-hub-number {
  color: rgb(255 255 255 / 72%);
  font-size: .76rem;
  font-weight: 850;
  left: 25px;
  letter-spacing: .12em;
  position: absolute;
  top: 23px;
  z-index: 1;
}

.media-hub-screen {
  background: rgb(24 28 29 / 76%);
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 20px 6px 20px 6px;
  box-shadow: 0 24px 50px rgb(20 25 26 / 28%);
  height: 58%;
  left: 50%;
  position: absolute;
  top: 52%;
  transform: translate(-50%, -50%);
  transition: transform 400ms cubic-bezier(.2, .8, .2, 1);
  width: 68%;
  z-index: 1;
}

.media-hub-card:hover .media-hub-screen {
  transform: translate(-50%, -50%) scale(1.045);
}

.media-play-icon {
  align-items: center;
  background: #fffaf5;
  border-radius: 50%;
  color: #9d332c;
  display: flex;
  height: 66px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 48%;
  transform: translate(-50%, -50%);
  width: 66px;
}

.media-play-icon svg {
  fill: currentColor;
  height: 27px;
  margin-left: 4px;
  width: 27px;
}

.media-hub-screen > i {
  background: rgb(255 255 255 / 24%);
  bottom: 18px;
  height: 3px;
  left: 18px;
  position: absolute;
  width: calc(100% - 36px);
}

.media-hub-screen > i:nth-of-type(2) {
  background: #e9a486;
  width: 37%;
}

.media-hub-screen > i:nth-of-type(3) {
  background: #fffaf5;
  border-radius: 50%;
  bottom: 14px;
  height: 11px;
  left: calc(37% + 12px);
  width: 11px;
}

.media-orbit {
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 50%;
  height: 210px;
  position: absolute;
  right: -70px;
  top: -72px;
  width: 210px;
}

.media-orbit-two {
  height: 120px;
  right: -18px;
  top: -29px;
  width: 120px;
}

.media-record {
  background: repeating-radial-gradient(circle, #2c2220 0 5px, #48312c 6px 8px);
  border-radius: 50%;
  box-shadow: 0 25px 55px rgb(57 28 20 / 30%);
  height: 220px;
  left: 50%;
  position: absolute;
  top: 48%;
  transform: translate(-50%, -50%) rotate(-8deg);
  transition: transform 500ms ease;
  width: 220px;
  z-index: 1;
}

.media-hub-card:hover .media-record {
  transform: translate(-50%, -50%) rotate(10deg) scale(1.035);
}

.media-record span {
  background: #d88361;
  border: 13px solid #f4d1b8;
  border-radius: 50%;
  height: 67px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 67px;
}

.media-mini-wave {
  align-items: center;
  bottom: 22px;
  display: flex;
  gap: 4px;
  height: 42px;
  position: absolute;
  right: 25px;
  z-index: 1;
}

.media-mini-wave i {
  background: rgb(255 250 245 / 78%);
  border-radius: 999px;
  height: var(--wave-height);
  width: 3px;
}

.media-hub-card-copy {
  padding: clamp(25px, 4vw, 42px);
  position: relative;
  z-index: 2;
}

.media-hub-card-copy .eyebrow {
  margin-bottom: 12px;
}

.media-hub-card-copy h2 {
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  letter-spacing: -.045em;
  margin: 0 0 16px;
}

.media-hub-card-copy > p:not(.eyebrow) {
  color: var(--color-muted);
  line-height: 1.65;
  max-width: 490px;
}

.media-hub-action {
  align-items: center;
  color: var(--color-accent);
  display: flex;
  font-size: .82rem;
  font-weight: 850;
  gap: 10px;
  margin-top: 25px;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.media-hub-action b {
  font-size: 1.2rem;
  transition: transform 180ms ease;
}

.media-hub-card:hover .media-hub-action b {
  transform: translateX(6px);
}

.media-hub-card:hover .media-hub-action,
.media-hub-card:focus-within .media-hub-action {
  color: var(--color-button-accent-hover);
}

.media-hub-card:active .media-hub-action {
  color: var(--color-button-accent-active);
}

.media-hub-footer {
  align-items: center;
  background:
    radial-gradient(circle at 10% 20%, color-mix(in srgb, var(--color-accent), transparent 84%), transparent 12rem),
    color-mix(in srgb, var(--color-soft-blue) 45%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 24px 7px 24px 7px;
  box-shadow: 0 16px 38px rgb(23 25 28 / 7%);
  display: flex;
  gap: 30px;
  justify-content: space-between;
  padding: 24px clamp(22px, 4vw, 34px);
}

.media-hub-footer > p {
  color: var(--color-muted);
  font-family: var(--font-serif);
  font-style: italic;
  margin: 0;
}

.media-hub-footer ul {
  display: flex;
  gap: clamp(18px, 4vw, 50px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.media-hub-footer li {
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.media-hub-footer li span {
  color: var(--color-accent);
  font-size: .65rem;
  margin-right: 7px;
}

@media (prefers-reduced-motion: reduce) {
  .media-hub-signal i { animation: none; }
}

/* Parcours et espace personnel ------------------------------------------ */
.journeys-page,
.today-page,
.personal-space,
.journey-detail {
  display: grid;
  gap: clamp(32px, 6vw, 72px);
  margin-inline: auto;
  max-width: 1180px;
  padding-block: clamp(28px, 5vw, 72px);
}

.journeys-hero,
.personal-space-hero {
  align-items: end;
  border-bottom: 1px solid var(--color-line);
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  padding-bottom: clamp(28px, 5vw, 60px);
}

.journeys-hero h1,
.personal-space-hero h1,
.today-hero h1 {
  font-size: clamp(3rem, 8vw, 7.3rem);
  letter-spacing: -.065em;
  line-height: .88;
  margin: 10px 0 0;
  max-width: 950px;
}

.journeys-hero h1 em,
.today-hero h1 em,
.home-journey-invitation h2 em {
  color: var(--color-accent);
  font-weight: 400;
}

.journeys-hero > p,
.personal-space-hero > p,
.today-hero > p {
  color: var(--color-muted);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
  margin: 0;
}

.journeys-intro,
.personal-space-privacy {
  align-items: center;
  background: color-mix(in srgb, var(--color-blue), var(--color-paper) 91%);
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 72%);
  border-radius: 18px 5px 18px 5px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 18px 22px;
}

.journeys-intro p,
.personal-space-privacy p { margin: 0; }
.journeys-intro a { font-weight: 780; white-space: nowrap; }

.journey-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.journey-card {
  --journey-color: var(--color-accent);
  background:
    radial-gradient(circle at 91% 8%, color-mix(in srgb, var(--journey-color), transparent 77%), transparent 11rem),
    color-mix(in srgb, var(--color-surface), var(--color-paper) 18%);
  border: 1px solid color-mix(in srgb, var(--journey-color), var(--color-line) 63%);
  border-radius: 28px 7px 30px 7px;
  display: flex;
  flex-direction: column;
  min-height: 420px;
  overflow: hidden;
  padding: clamp(24px, 4vw, 42px);
  position: relative;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.journey-card:hover { box-shadow: 0 24px 55px rgb(23 25 28 / 12%); transform: translateY(-4px); }
.journey-tone-blue { --journey-color: var(--color-blue); }
.journey-tone-gold { --journey-color: #b9852f; }
.journey-tone-ink { --journey-color: #383b44; }
.journey-tone-coral { --journey-color: var(--color-accent); }

.journey-card-topline { align-items: start; display: flex; justify-content: space-between; margin-bottom: auto; }
.journey-card-topline > span { color: var(--journey-color); font-size: .74rem; font-weight: 850; letter-spacing: .14em; }
.journey-card-topline b { color: var(--journey-color); font: 400 clamp(3rem, 7vw, 6rem)/1 var(--font-serif); opacity: .85; }
.journey-card h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.05em; line-height: .94; margin: 8px 0 14px; }
.journey-card > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.55; max-width: 520px; }
.journey-card footer { align-items: center; border-top: 1px solid color-mix(in srgb, var(--journey-color), transparent 72%); display: grid; gap: 12px; grid-template-columns: 1fr auto auto; margin-top: 28px; padding-top: 18px; }
.journey-card footer small { color: var(--color-muted); }
.journey-card footer span { border: 1px solid color-mix(in srgb, var(--journey-color), transparent 66%); border-radius: 999px; color: var(--journey-color); font-size: .72rem; font-weight: 800; padding: 5px 9px; }
.journey-card footer > a { align-items: center; background: var(--journey-color); border-radius: 50%; color: #fff; display: flex; height: 38px; justify-content: center; width: 38px; }
.journey-card.has-progress footer span { background: var(--journey-color); color: #fff; }

.journeys-today,
.journey-complete {
  align-items: center;
  border-radius: 28px 8px 30px 8px;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  padding: clamp(28px, 6vw, 58px);
}
.journey-complete { background: var(--color-blue); color: #fff; }
.journeys-today {
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--color-accent), transparent 91%), transparent 58%),
    color-mix(in srgb, var(--color-surface), var(--color-paper) 16%);
  border: 1px solid color-mix(in srgb, var(--color-accent), var(--color-line) 62%);
  border-left: clamp(7px, 1vw, 12px) solid var(--color-accent);
  box-shadow: 0 18px 46px rgb(23 25 28 / 7%);
}
.journeys-today h2 { color: var(--color-ink); font-size: clamp(2rem, 5vw, 4.2rem); margin: 8px 0 0; max-width: 760px; }
.journeys-today .eyebrow { color: var(--color-accent); }
.journeys-today .button {
  background: transparent;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  flex: 0 0 auto;
  justify-content: center;
  min-width: 205px;
  white-space: nowrap;
}
.journeys-today .button:hover,
.journeys-today .button:focus-visible { background: var(--color-accent); color: #fff; }

.journey-detail-hero {
  align-items: center;
  background:
    radial-gradient(circle at 12% 42%, color-mix(in srgb, var(--journey-color), transparent 72%), transparent 18rem),
    color-mix(in srgb, var(--color-surface), var(--color-paper) 20%);
  border: 1px solid color-mix(in srgb, var(--journey-color), var(--color-line) 68%);
  border-radius: 34px 8px 36px 8px;
  display: grid;
  gap: clamp(28px, 6vw, 70px);
  grid-template-columns: minmax(160px, .42fr) minmax(0, 1fr);
  min-height: 460px;
  overflow: hidden;
  padding: clamp(28px, 6vw, 70px);
}
.journey-detail-symbol { color: var(--journey-color); font: 400 clamp(7rem, 18vw, 14rem)/1 var(--font-serif); text-align: center; }
.journey-detail-hero h1 { font-size: clamp(3.4rem, 9vw, 7.6rem); letter-spacing: -.07em; line-height: .86; margin: 10px 0 24px; }
.journey-detail-hero > div:last-child > p:not(.eyebrow) { color: var(--color-muted); font-size: 1.15rem; line-height: 1.6; max-width: 700px; }
.journey-detail-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.journey-detail-meta span { border: 1px solid color-mix(in srgb, var(--journey-color), transparent 62%); border-radius: 999px; color: var(--journey-color); font-size: .72rem; font-weight: 800; padding: 6px 10px; }

.journey-progress-panel { align-items: center; display: grid; gap: 22px; grid-template-columns: minmax(260px, 1fr) minmax(220px, .65fr) auto; }
.journey-progress-panel h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin: 5px 0; }
.journey-progress-panel p { color: var(--color-muted); margin: 0; }
.journey-progress-panel > strong { color: var(--journey-color); font-size: 1.2rem; }
.journey-progress-meter { background: color-mix(in srgb, var(--journey-color), transparent 84%); border-radius: 999px; height: 10px; overflow: hidden; }
.journey-progress-meter i { background: var(--journey-color); border-radius: inherit; display: block; height: 100%; transition: width 300ms ease; width: 0; }

.journey-steps { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.journey-step { align-items: center; background: color-mix(in srgb, var(--color-surface), var(--color-paper) 12%); border: 1px solid var(--color-line); border-radius: 18px 6px 20px 6px; display: grid; gap: clamp(18px, 4vw, 44px); grid-template-columns: auto minmax(0, 1fr) minmax(180px, .34fr); padding: clamp(20px, 4vw, 34px); transition: border-color 180ms ease, opacity 180ms ease; }
.journey-step.is-complete { border-color: color-mix(in srgb, var(--journey-color), var(--color-line) 42%); }
.journey-step-number { align-items: center; background: color-mix(in srgb, var(--journey-color), transparent 88%); border-radius: 50%; color: var(--journey-color); display: flex; font-size: .78rem; font-weight: 850; height: 52px; justify-content: center; width: 52px; }
.journey-step-number i { display: none; font-style: normal; }
.journey-step.is-complete .journey-step-number { background: var(--journey-color); color: #fff; }
.journey-step.is-complete .journey-step-number span { display: none; }
.journey-step.is-complete .journey-step-number i { display: inline; }
.journey-step-copy h2 { font-size: clamp(1.55rem, 3vw, 2.35rem); margin: 5px 0 8px; }
.journey-step-copy > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.55; margin: 0; }
.journey-step-copy details { margin-top: 14px; }
.journey-step-copy summary { color: var(--journey-color); cursor: pointer; font-size: .82rem; font-weight: 780; }
.journey-step-copy details p { border-left: 2px solid var(--journey-color); color: var(--color-muted); margin: 10px 0 0; padding-left: 12px; }
.journey-step-actions { display: grid; gap: 8px; }
.journey-step-actions .button { font-size: .78rem; justify-content: space-between; }
.journey-step-actions button,
.today-recommendations button { background: transparent; border: 1px solid var(--color-line); border-radius: 999px; color: var(--color-muted); cursor: pointer; font: 700 .76rem/1 var(--font-sans); padding: 11px 13px; }
.journey-step-actions button[aria-pressed="true"],
.today-recommendations button.is-saved { border-color: var(--journey-color); color: var(--journey-color); }
.journey-complete[hidden] { display: none; }
.journey-complete > span { font-size: 4rem; }
.journey-complete h2 { color: #fff; margin: 6px 0; }
.journey-complete p { color: #d7edf3; }

.today-hero { margin-inline: auto; max-width: 980px; text-align: center; }
.today-hero > p { margin: 25px auto 0; max-width: 700px; }
.today-needs { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.today-needs a { align-items: center; background: color-mix(in srgb, var(--color-surface), var(--color-paper) 20%); border: 1px solid var(--color-line); border-radius: 18px 5px 18px 5px; display: flex; flex-direction: column; gap: 14px; justify-content: center; min-height: 160px; padding: 18px; text-align: center; }
.today-needs a span { color: var(--color-accent); font: 400 2.5rem/1 var(--font-serif); }
.today-needs a strong { font-size: .82rem; line-height: 1.35; }
.today-needs a[aria-current="true"] { background: var(--color-blue); border-color: var(--color-blue); color: #fff; transform: translateY(-4px); }
.today-needs a[aria-current="true"] span { color: #f4d18f; }
.today-selection { scroll-margin-top: 110px; }
.today-selection > header { border-bottom: 1px solid var(--color-line); margin-bottom: 22px; padding-bottom: 20px; }
.today-selection h2 { font-size: clamp(2rem, 5vw, 4rem); margin: 6px 0; }
.today-recommendations { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.today-recommendations article { background: color-mix(in srgb, var(--color-surface), var(--color-paper) 20%); border: 1px solid var(--color-line); border-radius: 20px 6px 22px 6px; display: flex; flex-direction: column; min-height: 310px; padding: 25px; }
.today-recommendations article > span { color: var(--color-accent); font-size: .72rem; font-weight: 850; letter-spacing: .12em; margin-bottom: auto; }
.today-recommendations h3 { font-size: 1.7rem; margin: 7px 0 10px; }
.today-recommendations article > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.55; }
.today-recommendations article > div { align-items: center; border-top: 1px solid var(--color-line); display: flex; justify-content: space-between; margin-top: auto; padding-top: 16px; }
.today-recommendations article > div > a { font-weight: 780; }
.today-note { align-items: start; border-block: 1px solid var(--color-line); display: flex; gap: 24px; margin-inline: auto; max-width: 800px; padding: 34px; }
.today-note span { color: var(--color-accent); font: 400 5rem/.65 var(--font-serif); }
.today-note p { font: italic clamp(1.4rem, 3vw, 2.1rem)/1.3 var(--font-serif); margin: 0; }

.personal-space-privacy span { color: var(--color-blue); font-size: 2rem; }
.personal-space-privacy button { background: transparent; border: 0; color: var(--color-accent-dark); cursor: pointer; font-weight: 750; white-space: nowrap; }
.personal-section > header { border-bottom: 1px solid var(--color-line); margin-bottom: 18px; padding-bottom: 14px; }
.personal-section h2 { font-size: clamp(2rem, 4vw, 3.3rem); margin: 4px 0; }
.personal-journeys { display: grid; gap: 12px; }
.personal-journeys article { align-items: center; background: color-mix(in srgb, var(--color-surface), var(--color-paper) 20%); border: 1px solid var(--color-line); border-radius: 16px 5px 18px 5px; display: grid; gap: 20px; grid-template-columns: auto 1fr auto; padding: 20px; }
.personal-journeys article > span { color: var(--color-accent); font: 400 2.6rem/1 var(--font-serif); width: 50px; }
.personal-journeys h3 { font-size: 1.35rem; margin: 2px 0 10px; }
.personal-journeys article p { color: var(--color-meta); font-size: .68rem; font-weight: 800; margin: 0; text-transform: uppercase; }
.personal-journeys article div div { background: color-mix(in srgb, var(--color-accent), transparent 87%); border-radius: 999px; height: 6px; max-width: 360px; overflow: hidden; }
.personal-journeys article i { background: var(--color-accent); display: block; height: 100%; }
.personal-journeys article small { color: var(--color-muted); display: block; margin-top: 7px; }
.personal-saved { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.personal-saved article { align-items: center; border: 1px solid var(--color-line); border-radius: 14px 5px 14px 5px; display: grid; gap: 5px 15px; grid-template-columns: 1fr auto; padding: 18px; }
.personal-saved article p { color: var(--color-meta); font-size: .68rem; font-weight: 800; grid-column: 1 / -1; margin: 0; text-transform: uppercase; }
.personal-saved article a { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 650; }
.personal-saved article button { background: transparent; border: 0; color: var(--color-muted); cursor: pointer; font-size: .72rem; }
.personal-empty { background: color-mix(in srgb, var(--color-soft-blue), transparent 48%); border-radius: 12px; color: var(--color-muted); margin: 0; padding: 22px; }
.personal-bible-summary { align-items: center; background: var(--color-blue); border-radius: 18px 5px 20px 5px; color: #fff; display: grid; gap: 14px 24px; grid-template-columns: auto 1fr auto; padding: clamp(22px, 4vw, 36px); }
.personal-bible-summary strong { font-family: var(--font-serif); font-size: 1.55rem; }
.personal-bible-summary p { color: #d7edf3; margin: 0; }
.personal-bible-summary a { color: #fff; font-weight: 780; }
.personal-bible-summary .personal-bible-resume { grid-column: 1 / -1; border-top: 1px solid rgb(255 255 255 / 24%); padding-top: 14px; }

.home-journey-invitation { align-items: center; background: #173e52; border-radius: 28px 7px 30px 7px; color: #fff; display: grid; gap: clamp(24px, 5vw, 60px); grid-template-columns: auto minmax(0, 1fr) minmax(230px, .55fr); margin-block: clamp(50px, 9vw, 110px); overflow: hidden; padding: clamp(30px, 6vw, 70px); }
.home-journey-mark { align-items: center; display: flex; flex-direction: column; gap: 18px; }
.home-journey-mark span { color: #bde6ef; font-size: .7rem; font-weight: 850; letter-spacing: .13em; }
.home-journey-mark b { color: #f4d18f; font: 400 clamp(4rem, 8vw, 7rem)/1 var(--font-serif); }
.home-journey-mark i { background: rgb(255 255 255 / 30%); height: 80px; width: 1px; }
.home-journey-invitation .eyebrow { color: #f4d18f; }
.home-journey-invitation h2 { color: #fff; font-size: clamp(2.3rem, 5vw, 4.8rem); letter-spacing: -.055em; line-height: .95; margin: 8px 0 20px; }
.home-journey-invitation > div:nth-child(2) > p:not(.eyebrow) { color: #d7edf3; line-height: 1.6; max-width: 640px; }
.home-journey-invitation > div:nth-child(2) > div { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; }
.home-journey-invitation > div:nth-child(2) > div > a:not(.button) { color: #fff; font-size: .82rem; font-weight: 750; }
.home-journey-invitation ol { border-left: 1px solid rgb(255 255 255 / 22%); list-style: none; margin: 0; padding: 0 0 0 28px; }
.home-journey-invitation li { align-items: center; border-bottom: 1px solid rgb(255 255 255 / 16%); display: flex; gap: 13px; padding: 17px 0; }
.home-journey-invitation li span { color: #f4d18f; font-size: .68rem; font-weight: 850; }
.home-journey-invitation li a { color: #fff; font-family: var(--font-serif); font-size: 1.2rem; }

.bible-journey-links { border-block: 1px solid var(--color-line); display: grid; gap: 24px; grid-template-columns: minmax(240px, .65fr) minmax(0, 1fr); margin-block: clamp(36px, 7vw, 76px); padding-block: clamp(28px, 5vw, 50px); }
.bible-journey-links h2 { font-size: clamp(1.9rem, 4vw, 3rem); margin: 6px 0 12px; }
.bible-journey-links header > p:last-child { color: var(--color-muted); line-height: 1.55; }
.bible-journey-links > div { display: grid; gap: 10px; }
.bible-journey-links > div > a { --journey-color: var(--color-accent); align-items: center; background: color-mix(in srgb, var(--journey-color), transparent 91%); border: 1px solid color-mix(in srgb, var(--journey-color), transparent 70%); border-radius: 14px 5px 16px 5px; display: grid; gap: 4px 13px; grid-template-columns: auto 1fr auto; padding: 18px; }
.bible-journey-links a > span { color: var(--journey-color); font: 400 2.3rem/1 var(--font-serif); grid-row: 1 / 4; }
.bible-journey-links a small { color: var(--journey-color); font-size: .68rem; font-weight: 820; text-transform: uppercase; }
.bible-journey-links a strong { font-family: var(--font-serif); font-size: 1.22rem; }
.bible-journey-links a p { color: var(--color-muted); font-size: .82rem; margin: 0; }
.bible-journey-links a b { color: var(--journey-color); grid-column: 3; grid-row: 1 / 4; }
.reading-keep-action { align-items: center; display: flex; gap: 14px; justify-content: flex-end; margin-block: 22px; }
.reading-keep-action button,
.article-save-button { background: transparent; border: 1px solid var(--color-line); border-radius: 999px; color: var(--color-muted); cursor: pointer; font: 750 .78rem/1 var(--font-sans); padding: 11px 15px; }
.reading-keep-action button.is-saved,
.article-save-button.is-saved { border-color: var(--color-accent); color: var(--color-accent); }
.reading-keep-action > a { font-size: .78rem; font-weight: 760; }
.article-share-panel .article-save-button { grid-column: 1 / -1; justify-self: end; }

.meditation-daily-rhythm { align-items: center; background: color-mix(in srgb, var(--color-blue), var(--color-paper) 88%); border: 1px solid color-mix(in srgb, var(--color-blue), transparent 72%); border-radius: 18px 5px 20px 5px; display: flex; gap: 28px; justify-content: space-between; margin-top: 26px; padding: clamp(24px, 5vw, 42px); width: 100%; }
.meditation-daily-rhythm h2 { font-family: var(--font-serif); font-size: clamp(1.6rem, 3.5vw, 2.7rem); letter-spacing: -.035em; margin: 5px 0 7px; }
.meditation-daily-rhythm p { color: var(--color-muted); margin: 0; }
.meditation-daily-rhythm button { align-items: center; background: var(--color-blue); border: 1px solid var(--color-blue); border-radius: 999px; color: #fff; cursor: pointer; display: flex; flex: 0 0 auto; gap: 9px; padding: 13px 17px; white-space: nowrap; }
.meditation-daily-rhythm button b { font-size: .78rem; }
.meditation-daily-rhythm.is-complete button { background: #357358; border-color: #357358; }

.journey-admin-page,
.journey-admin-form { display: grid; gap: 24px; }
.journey-admin-hero,
.journey-admin-form > header { align-items: end; background: linear-gradient(135deg,#152b39,#203e4e); border-radius: 20px; color: #fff; display: flex; justify-content: space-between; padding: clamp(24px,4vw,44px); }
.journey-admin-hero h1,
.journey-admin-form > header h1 { color: #fff; font-size: clamp(2.5rem,5vw,4.5rem); letter-spacing: -.055em; margin: 5px 0; }
.journey-admin-hero p:last-child { color: #b8ccd4; }
.journey-admin-form > header > div:last-child { align-items: center; display: flex; gap: 12px; }
.journey-admin-form > header a { color: #d6e7ec; }
.journey-admin-import { align-items: center; background: #fff; border: 1px solid #dbe3e7; border-radius: 16px; display: grid; gap: 22px; grid-template-columns: auto 1fr auto; padding: 28px; }
.journey-admin-import > span { color: var(--admin-coral); font: 400 3.5rem/1 var(--font-serif); }
.journey-admin-import h2 { margin: 0 0 5px; }
.journey-admin-import p { color: #657782; margin: 0; }
.journey-admin-list { display: grid; gap: 10px; }
.journey-admin-list article { align-items: center; background: #fff; border: 1px solid #dbe3e7; border-radius: 14px; display: grid; gap: 18px; grid-template-columns: auto 1fr auto auto; padding: 18px 22px; }
.journey-admin-symbol { align-items: center; background: #edf5f6; border-radius: 12px; color: #23727a; display: flex; font: 400 2rem/1 var(--font-serif); height: 54px; justify-content: center; width: 54px; }
.journey-admin-list p { color: #72838d; font-size: .67rem; font-weight: 800; margin: 0; text-transform: uppercase; }
.journey-admin-list h2 { font-size: 1.35rem; margin: 2px 0; }
.journey-admin-list small { color: #72838d; }
.journey-admin-form-grid { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(290px,.62fr) minmax(0,1.38fr); }
.admin-form-card { background: #fff; border: 1px solid #dbe3e7; border-radius: 16px; display: grid; gap: 17px; padding: 24px; }
.admin-form-card > h2,
.admin-form-card > header h2 { margin: 0; }
.admin-form-card label { display: grid; gap: 7px; }
.admin-form-card label > span { color: #586b76; font-size: .72rem; font-weight: 800; }
.admin-form-card input,
.admin-form-card textarea,
.admin-form-card select { background: #f8fafb; border: 1px solid #ccd7dc; border-radius: 9px; color: #17212b; font: 500 .9rem/1.4 var(--font-sans); padding: 10px 11px; width: 100%; }
.admin-field-pair { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.journey-step-editor > header { align-items: center; display: flex; justify-content: space-between; }
.journey-step-editor > header p { color: #72838d; margin: 4px 0 0; }
.journey-step-editor > header button { background: #203e4e; border: 0; border-radius: 9px; color: #fff; cursor: pointer; padding: 10px 14px; }
.journey-step-editor [data-journey-admin-steps] { display: grid; gap: 12px; }
.journey-admin-step { background: #f6f9fa; border: 1px solid #d5e0e4; border-radius: 12px; display: grid; gap: 13px; margin: 0; padding: 18px; position: relative; }
.journey-admin-step legend { color: #23727a; font-size: .72rem; font-weight: 850; letter-spacing: .08em; padding: 0 7px; text-transform: uppercase; }
.journey-admin-step > button { background: transparent; border: 0; color: #9b5c50; cursor: pointer; font-size: 1.4rem; position: absolute; right: 10px; top: 8px; }
.journey-admin-step.is-dragging { opacity: .45; }
html[data-theme="dark"] .journey-admin-import,
html[data-theme="dark"] .journey-admin-list article,
html[data-theme="dark"] .admin-form-card { background: #191f24; border-color: #2b353c; color: #edf2f4; }
html[data-theme="dark"] .admin-form-card input,
html[data-theme="dark"] .admin-form-card textarea,
html[data-theme="dark"] .admin-form-card select,
html[data-theme="dark"] .journey-admin-step { background: #222a30; border-color: #36434a; color: #edf2f4; }

.meditation-archive-page { display: grid; gap: clamp(34px,6vw,72px); margin-inline: auto; max-width: 1120px; padding-block: clamp(30px,6vw,70px); }
.meditation-archive-hero { align-items: end; border-bottom: 1px solid var(--color-line); display: grid; gap: 30px; grid-template-columns: 1fr auto; padding-bottom: clamp(28px,5vw,55px); }
.meditation-archive-hero h1 { font-size: clamp(3rem,8vw,7rem); letter-spacing: -.065em; line-height: .9; margin: 8px 0; max-width: 850px; }
.meditation-archive-hero > div:last-child { display: grid; min-width: 170px; }
.meditation-archive-hero > div:last-child strong { color: var(--color-accent); font: 700 4.5rem/1 var(--font-serif); }
.meditation-archive-hero > div:last-child span { color: var(--color-muted); margin-bottom: 18px; }
.meditation-month-index { display: grid; gap: 8px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.meditation-month-index a { align-items: center; border: 1px solid var(--color-line); border-radius: 12px 4px 12px 4px; display: grid; gap: 8px; grid-template-columns: auto 1fr auto; padding: 14px; }
.meditation-month-index a > span { color: var(--color-accent); font-size: .68rem; font-weight: 850; }
.meditation-month-index small { background: color-mix(in srgb,var(--color-accent),transparent 88%); border-radius: 999px; color: var(--color-accent-dark); padding: 3px 7px; }
.meditation-archive-months { display: grid; gap: 50px; }
.meditation-archive-months section > header { align-items: baseline; border-bottom: 1px solid var(--color-line); display: flex; gap: 15px; margin-bottom: 12px; padding-bottom: 12px; }
.meditation-archive-months section > header span { color: var(--color-accent); font-size: .72rem; font-weight: 850; }
.meditation-archive-months h2 { font-size: clamp(2rem,4vw,3rem); margin: 0; }
.meditation-archive-months section > header small { color: var(--color-muted); margin-left: auto; }
.meditation-archive-months section > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.meditation-archive-months section > div > a { align-items: center; border-bottom: 1px solid var(--color-line); display: grid; gap: 16px; grid-template-columns: auto 1fr auto; min-height: 95px; padding: 14px; }
.meditation-archive-months time { align-items: center; background: color-mix(in srgb,var(--color-soft),transparent 45%); border-radius: 50%; display: flex; font-weight: 800; height: 44px; justify-content: center; width: 44px; }
.meditation-archive-months a > span { display: grid; gap: 4px; }
.meditation-archive-months a strong { font-family: var(--font-serif); font-size: 1.08rem; }
.meditation-archive-months a small { color: var(--color-muted); }
.meditation-archive-months a b { color: var(--color-accent); }
.meditation-date-pager { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 28px; }
.meditation-date-pager a { border: 1px solid var(--color-line); border-radius: 12px 4px 12px 4px; display: grid; gap: 5px; padding: 15px; text-align: center; }
.meditation-date-pager a span { color: var(--color-muted); font-size: .7rem; }
.meditation-date-pager a strong { font-family: var(--font-serif); }

@media (max-width: 900px) {
  .today-needs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .today-recommendations { grid-template-columns: 1fr; }
  .journey-step { grid-template-columns: auto minmax(0, 1fr); }
  .journey-step-actions { grid-column: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .journey-progress-panel { grid-template-columns: 1fr auto; }
  .journey-progress-meter { grid-column: 1 / -1; grid-row: 2; }
  .home-journey-invitation { grid-template-columns: auto 1fr; }
  .home-journey-invitation ol { grid-column: 2; }
  .personal-bible-summary { grid-template-columns: 1fr; }
  .journey-admin-form-grid { grid-template-columns: 1fr; }
  .meditation-month-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .journeys-hero,
  .personal-space-hero,
  .journey-grid,
  .journey-detail-hero { grid-template-columns: 1fr; }
  .journeys-hero h1,
  .personal-space-hero h1,
  .today-hero h1 { font-size: clamp(2.8rem, 16vw, 5rem); }
  .journeys-intro,
  .personal-space-privacy,
  .journeys-today,
  .journey-complete { align-items: flex-start; flex-direction: column; }
  .journey-card { min-height: 360px; }
  .journey-detail-symbol { font-size: 7rem; text-align: left; }
  .journey-step { align-items: start; grid-template-columns: auto 1fr; }
  .journey-step-actions { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .today-needs { grid-template-columns: 1fr; }
  .today-needs a { flex-direction: row; justify-content: flex-start; min-height: 82px; text-align: left; }
  .personal-journeys article { align-items: start; grid-template-columns: auto 1fr; }
  .personal-journeys article > a { grid-column: 2; }
  .personal-saved { grid-template-columns: 1fr; }
  .home-journey-invitation { grid-template-columns: 1fr; }
  .home-journey-mark { align-items: center; flex-direction: row; justify-content: flex-start; }
  .home-journey-mark i { height: 1px; width: 80px; }
  .home-journey-invitation ol { border-left: 0; border-top: 1px solid rgb(255 255 255 / 22%); grid-column: 1; padding: 15px 0 0; }
  .bible-journey-links { grid-template-columns: 1fr; }
  .reading-keep-action,
  .meditation-daily-rhythm { align-items: flex-start; flex-direction: column; }
  .journey-admin-hero,
  .journey-admin-form > header { align-items: flex-start; flex-direction: column; gap: 20px; }
  .journey-admin-list article { grid-template-columns: auto 1fr; }
  .admin-field-pair { grid-template-columns: 1fr; }
  .meditation-archive-hero,
  .meditation-archive-months section > div { grid-template-columns: 1fr; }
  .meditation-date-pager { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .media-hub-hero {
    grid-template-columns: 1fr;
    min-height: 580px;
  }

  .media-hub-signal {
    height: 100px;
    justify-self: stretch;
  }

  .media-hub-note {
    bottom: 24px;
    left: 34px;
    right: auto;
  }

  .media-hub-grid {
    grid-template-columns: 1fr;
  }

  .media-hub-card {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .media-hub-hero {
    border-radius: 24px 7px 24px 7px;
    min-height: 560px;
    padding: 30px 24px 72px;
  }

  .media-hub-copy h1 {
    font-size: clamp(2.55rem, 13vw, 4rem);
  }

  .media-hub-note {
    left: 25px;
  }

  .media-hub-card {
    border-radius: 22px 7px 22px 7px;
    grid-template-rows: 250px auto;
  }

  .media-hub-visual {
    min-height: 250px;
  }

  .media-record {
    height: 175px;
    width: 175px;
  }

  .media-hub-footer,
  .media-hub-footer ul {
    align-items: flex-start;
    flex-direction: column;
  }

  .media-hub-footer ul {
    gap: 14px;
  }
}

.media-archive {
  display: grid;
  gap: clamp(34px, 6vw, 72px);
}

.media-archive-hero {
  align-items: center;
  background: #171514;
  border-radius: 32px 9px 32px 9px;
  color: #fffaf5;
  display: grid;
  gap: clamp(32px, 6vw, 84px);
  grid-template-columns: minmax(0, 1.25fr) minmax(230px, .75fr);
  min-height: 470px;
  overflow: hidden;
  padding: clamp(34px, 7vw, 82px);
  position: relative;
}

.media-archive-video .media-archive-hero {
  background: radial-gradient(circle at 82% 20%, rgb(116 154 162 / 36%), transparent 30%), #171514;
}

.media-archive-audio .media-archive-hero {
  background: radial-gradient(circle at 82% 20%, rgb(211 124 87 / 36%), transparent 30%), #171514;
}

.media-archive-hero .eyebrow { color: #e9a486; }

.media-archive-hero h1 {
  color: inherit;
  font-size: clamp(2.6rem, 6vw, 5.5rem);
  letter-spacing: -.055em;
  line-height: .95;
  margin: 18px 0 26px;
}

.media-archive-hero h1 em {
  color: #e9a486;
  display: block;
  font-family: var(--font-serif);
  font-weight: 400;
}

.media-archive-hero > div:first-child > p:last-child {
  color: rgb(255 250 245 / 68%);
  line-height: 1.65;
  max-width: 620px;
}

.media-archive-play {
  aspect-ratio: 16 / 11;
  background: rgb(255 255 255 / 7%);
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 22px 7px 22px 7px;
  box-shadow: 0 30px 70px rgb(0 0 0 / 30%);
  position: relative;
  transform: rotate(3deg);
}

.media-archive-play span {
  align-items: center;
  background: #fffaf5;
  border-radius: 50%;
  color: #a2382f;
  display: flex;
  height: 76px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 46%;
  transform: translate(-50%, -50%);
  width: 76px;
}

.media-archive-play svg,
.media-video-play svg {
  fill: currentColor;
  height: 30px;
  margin-left: 4px;
  width: 30px;
}

.media-archive-play > i {
  background: rgb(255 255 255 / 18%);
  bottom: 24px;
  height: 3px;
  left: 24px;
  position: absolute;
  width: calc(100% - 48px);
}

.media-archive-play > i:last-child {
  background: #e9a486;
  width: 42%;
}

.media-archive-wave {
  align-items: center;
  display: flex;
  gap: clamp(5px, .8vw, 10px);
  height: 190px;
  justify-content: center;
}

.media-archive-wave i {
  animation: media-signal var(--archive-duration, 2.6s) cubic-bezier(.45, 0, .25, 1) infinite;
  animation-delay: var(--archive-delay, 0ms);
  background: linear-gradient(to top, #b7372d, #efb090);
  border-radius: 999px;
  height: var(--archive-wave);
  transform-origin: center;
  width: clamp(5px, .65vw, 8px);
}

.media-archive-wave i:nth-child(1) { --archive-duration: 2.58s; --archive-delay: -110ms; --signal-low: .58; --signal-high: .83; }
.media-archive-wave i:nth-child(2) { --archive-duration: 2.72s; --archive-delay: -270ms; --signal-low: .52; --signal-high: .89; }
.media-archive-wave i:nth-child(3) { --archive-duration: 2.88s; --archive-delay: -450ms; --signal-low: .46; --signal-high: .96; }
.media-archive-wave i:nth-child(4) { --archive-duration: 3.04s; --archive-delay: -640ms; --signal-low: .42; --signal-high: .99; }
.media-archive-wave i:nth-child(5) { --archive-duration: 3.18s; --archive-delay: -820ms; --signal-low: .46; --signal-high: .95; }
.media-archive-wave i:nth-child(6) { --archive-duration: 3.28s; --archive-delay: -990ms; --signal-low: .52; --signal-high: .89; }
.media-archive-wave i:nth-child(7) { --archive-duration: 3.14s; --archive-delay: -1170ms; --signal-low: .59; --signal-high: .82; }
.media-archive-wave i:nth-child(8) { --archive-duration: 2.98s; --archive-delay: -1350ms; --signal-low: .54; --signal-high: .88; }
.media-archive-wave i:nth-child(9) { --archive-duration: 2.82s; --archive-delay: -1530ms; --signal-low: .47; --signal-high: .94; }
.media-archive-wave i:nth-child(10) { --archive-duration: 2.66s; --archive-delay: -1710ms; --signal-low: .4; --signal-high: .99; }
.media-archive-wave i:nth-child(11) { --archive-duration: 2.54s; --archive-delay: -1890ms; --signal-low: .45; --signal-high: .96; }
.media-archive-wave i:nth-child(12) { --archive-duration: 2.7s; --archive-delay: -2070ms; --signal-low: .52; --signal-high: .88; }
.media-archive-wave i:nth-child(13) { --archive-duration: 2.92s; --archive-delay: -2250ms; --signal-low: .6; --signal-high: .81; }

.media-archive-heading {
  align-items: end;
  border-bottom: 1px solid var(--color-line);
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}

.media-archive-heading h2 {
  font-size: clamp(2rem, 4vw, 3.6rem);
  letter-spacing: -.04em;
  margin: 8px 0 0;
}

.media-archive-heading > p {
  color: var(--color-muted);
  font-size: .8rem;
  font-weight: 800;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.media-video-grid {
  display: grid;
  gap: clamp(20px, 3vw, 34px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.media-video-card {
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 8%);
  border-radius: 24px 7px 24px 7px;
  box-shadow: 0 18px 45px rgb(23 25 28 / 8%);
  overflow: hidden;
  position: relative;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.media-video-card::after {
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent), transparent 88%), transparent 56%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 220ms ease;
  z-index: 1;
}

.media-video-card:hover,
.media-video-card:focus-within {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 48%);
  box-shadow: 0 28px 64px rgb(23 25 28 / 15%);
  transform: translateY(-6px);
}

.media-video-card:hover::after,
.media-video-card:focus-within::after {
  opacity: 1;
}

.media-video-card:active {
  box-shadow: 0 12px 30px rgb(23 25 28 / 12%);
  transform: translateY(-1px) scale(.985);
}

.media-card-cover-link {
  inset: 0;
  position: absolute;
  z-index: 3;
}

.media-card-cover-link:focus-visible {
  border-radius: inherit;
  box-shadow: inset 0 0 0 3px var(--color-accent);
  outline: 0;
}

.media-video-art {
  aspect-ratio: 16 / 9;
  background: linear-gradient(145deg, #9fb2b6, #4d6970);
  overflow: hidden;
  position: relative;
}

.media-video-art::after {
  background: linear-gradient(to top, rgb(0 0 0 / 18%), transparent 48%);
  content: "";
  inset: 0;
  position: absolute;
}

.media-video-art-2 { background: linear-gradient(145deg, #d2a27f, #873e34); }
.media-video-art-3 { background: linear-gradient(145deg, #b8b1a0, #625a4d); }

.media-video-art > i {
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 50%;
  height: 240px;
  position: absolute;
  right: -70px;
  top: -90px;
  width: 240px;
}

.media-video-art > i:nth-of-type(2) { height: 150px; right: -20px; top: -45px; width: 150px; }
.media-video-art > i:nth-of-type(3) { height: 70px; right: 25px; top: 0; width: 70px; }

.media-video-index {
  color: rgb(255 255 255 / 70%);
  font-size: .7rem;
  font-weight: 850;
  left: 22px;
  letter-spacing: .12em;
  position: absolute;
  top: 20px;
  z-index: 1;
}

.media-video-play {
  align-items: center;
  background: #fffaf5;
  border-radius: 50%;
  color: #a2382f;
  display: flex;
  height: 70px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 52%;
  transform: translate(-50%, -50%);
  transition: transform 220ms ease;
  width: 70px;
  z-index: 1;
}

.media-video-card:hover .media-video-play,
.media-video-card:focus-within .media-video-play {
  background: var(--color-button-accent-hover);
  color: #fff;
  transform: translate(-50%, -50%) scale(1.09);
}

.media-video-card:active .media-video-play {
  background: var(--color-button-accent-active);
  transform: translate(-50%, -50%) scale(.96);
}

.media-video-copy { padding: clamp(23px, 4vw, 36px); }
.media-video-copy .meta { color: var(--color-accent); font-size: .7rem; font-weight: 850; text-transform: uppercase; }

.media-video-copy h3 {
  font-size: clamp(1.5rem, 3vw, 2.3rem);
  letter-spacing: -.035em;
  margin: 9px 0 13px;
}

.media-video-copy > p:not(.meta) { color: var(--color-muted); line-height: 1.65; }

.media-inline-action {
  align-items: center;
  color: var(--color-accent);
  display: inline-flex;
  font-size: .78rem;
  font-weight: 850;
  gap: 8px;
  margin-top: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.media-inline-action b { font-size: 1rem; }

.media-inline-action b {
  transition: transform 160ms ease;
}

.media-video-card:hover .media-inline-action,
.media-video-card:focus-within .media-inline-action {
  color: var(--color-button-accent-hover);
}

.media-video-card:hover .media-inline-action b,
.media-video-card:focus-within .media-inline-action b {
  transform: translate(3px, -3px);
}

.media-video-card:active .media-inline-action {
  color: var(--color-button-accent-active);
}

.media-notes-link { position: relative; z-index: 5; }

.media-contribution-callout {
  align-items: center;
  background:
    radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--color-accent), transparent 78%), transparent 13rem),
    color-mix(in srgb, var(--color-soft-blue) 56%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 14%);
  border-radius: 28px 8px 28px 8px;
  box-shadow: 0 20px 48px rgb(23 25 28 / 8%);
  display: grid;
  gap: 25px;
  grid-template-columns: 1fr 1fr auto;
  overflow: hidden;
  padding: clamp(25px, 4vw, 44px);
  position: relative;
}

.media-contribution-callout::after {
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 72%);
  border-radius: 50%;
  content: "";
  height: 210px;
  position: absolute;
  right: -82px;
  top: -96px;
  width: 210px;
}

.media-contribution-callout > * {
  position: relative;
  z-index: 1;
}

.media-contribution-callout h2 { margin: 7px 0 0; }
.media-contribution-callout > p { color: var(--color-muted); line-height: 1.6; margin: 0; }

.podcast-waiting-room {
  align-items: center;
  background: color-mix(in srgb, var(--color-surface) 92%, #d88361);
  border: 1px solid var(--color-line);
  border-radius: 28px 8px 28px 8px;
  display: grid;
  gap: clamp(35px, 8vw, 110px);
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  min-height: 490px;
  overflow: hidden;
  padding: clamp(32px, 7vw, 76px);
  position: relative;
}

.podcast-record {
  background: repeating-radial-gradient(circle, #241d1b 0 6px, #42302b 7px 10px);
  border-radius: 50%;
  box-shadow: 0 30px 70px rgb(55 30 24 / 25%);
  justify-self: center;
  max-width: 310px;
  position: relative;
  width: 100%;
}

.podcast-record::before { content: ""; display: block; padding-top: 100%; }
.podcast-record span { background: #d77f5e; border: 16px solid #f0c8ae; border-radius: 50%; height: 30%; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 30%; }

.podcast-waiting-copy { position: relative; z-index: 1; }
.podcast-waiting-copy h2 { font-size: clamp(2.1rem, 4.5vw, 4rem); letter-spacing: -.045em; line-height: 1; margin: 14px 0 22px; }
.podcast-waiting-copy > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.7; max-width: 620px; }
.podcast-waiting-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.podcast-waiting-actions .text-link { color: var(--color-ink); font-weight: 800; }

.podcast-series-grid { display: grid; gap: 24px; }
.podcast-series-card { align-items: center; background: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 8%); border-radius: 22px 7px 22px 7px; box-shadow: 0 14px 34px rgb(23 25 28 / 6%); display: grid; gap: 35px; grid-template-columns: 230px 1fr; padding: 24px; transition: border-color 180ms ease, box-shadow 180ms ease, transform 160ms ease; }
.podcast-series-card:hover, .podcast-series-card:focus-within { border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 48%); box-shadow: 0 22px 48px rgb(23 25 28 / 12%); transform: translateY(-4px); }
.podcast-series-art { aspect-ratio: 1; background: linear-gradient(145deg, #d9a27f, #804033); border-radius: 16px 5px 16px 5px; overflow: hidden; position: relative; }
.podcast-series-art > span { color: rgb(255 255 255 / 70%); font-size: .7rem; font-weight: 850; left: 17px; position: absolute; top: 16px; }
.podcast-series-disc { background: #2d211e; border-radius: 50%; height: 60%; left: 50%; position: absolute; top: 52%; transform: translate(-50%, -50%); transition: transform 360ms ease; width: 60%; }
.podcast-series-card:hover .podcast-series-disc, .podcast-series-card:focus-within .podcast-series-disc { transform: translate(-50%, -50%) rotate(12deg) scale(1.04); }
.podcast-series-disc i { background: #e1a27e; border: 8px solid #f2cfb8; border-radius: 50%; height: 36%; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 36%; }
.podcast-episode-list { display: grid; gap: 16px; list-style: none; margin: 24px 0 0; padding: 0; }
.podcast-episode-list li { background: color-mix(in srgb, var(--color-surface), var(--color-accent) 4%); border: 1px solid var(--color-line); border-radius: 14px 4px 14px 4px; padding: 16px; }
.podcast-episode-heading { align-items: baseline; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 12px; }
.podcast-episode-heading span { color: var(--color-muted); font-size: .82rem; white-space: nowrap; }
.podcast-episode-list audio { display: block; width: 100%; }
.podcast-episode-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 10px; }
.podcast-episode-links a { color: var(--color-accent); font-size: .85rem; font-weight: 800; }

.article-audio { background: color-mix(in srgb, var(--color-surface), var(--color-accent) 5%); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 18%); border-radius: 20px 6px 20px 6px; display: grid; gap: 16px; margin: 30px 0 34px; padding: 24px; }
.article-audio h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 5px 0 4px; }
.article-audio p { color: var(--color-muted); margin: 0; }
.article-audio audio { width: 100%; }
.article-audio > a { color: var(--color-accent); font-size: .88rem; font-weight: 800; justify-self: start; }

@media (prefers-reduced-motion: reduce) {
  .media-archive-wave i { animation: none; }
}

@media (max-width: 800px) {
  .media-archive-hero { grid-template-columns: 1fr; }
  .media-archive-play { justify-self: center; max-width: 360px; width: 100%; }
  .media-archive-wave { height: 110px; }
  .media-contribution-callout { align-items: start; grid-template-columns: 1fr; }
  .podcast-waiting-room { grid-template-columns: 1fr; }
  .podcast-record { max-width: 230px; }
}

@media (max-width: 600px) {
  .media-archive-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 32px 24px; }
  .media-video-grid { grid-template-columns: 1fr; }
  .media-archive-heading { align-items: start; flex-direction: column; gap: 8px; }
  .media-archive-heading > p { margin: 0; }
  .podcast-waiting-room { padding: 32px 24px; }
  .podcast-series-card { grid-template-columns: 1fr; }
}

.about-page {
  display: grid;
  gap: clamp(58px, 9vw, 118px);
}

.about-hero {
  align-items: center;
  background:
    radial-gradient(circle at 80% 20%, rgb(226 154 120 / 26%), transparent 27%),
    linear-gradient(135deg, #171514, #29221f 70%, #171514);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 34px 9px 34px 9px;
  box-shadow: 0 34px 80px rgb(23 18 16 / 15%);
  color: #fffaf5;
  display: grid;
  gap: clamp(34px, 7vw, 90px);
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  min-height: clamp(540px, 65vw, 720px);
  overflow: hidden;
  padding: clamp(36px, 7vw, 86px);
  position: relative;
}

.about-hero::before {
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
  content: "";
  height: 430px;
  position: absolute;
  right: -145px;
  top: -195px;
  width: 430px;
}

.about-hero-copy {
  position: relative;
  z-index: 1;
}

.about-hero .eyebrow { color: #e9a486; }

.about-hero h1 {
  color: inherit;
  font-size: clamp(3rem, 7.4vw, 7rem);
  letter-spacing: -.06em;
  line-height: .91;
  margin: 22px 0 32px;
}

.about-hero h1 em {
  color: #e9a486;
  font-family: var(--font-serif);
  font-weight: 400;
}

.about-hero-copy > p:last-child {
  color: rgb(255 250 245 / 69%);
  font-size: clamp(1rem, 1.7vw, 1.24rem);
  line-height: 1.7;
  max-width: 650px;
}

.about-monogram {
  align-items: center;
  aspect-ratio: 1;
  backdrop-filter: blur(10px);
  background: rgb(255 255 255 / 4%);
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%), 0 24px 60px rgb(0 0 0 / 16%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-self: center;
  max-width: 330px;
  padding: 12%;
  position: relative;
  transition: border-color 200ms ease, transform 220ms ease;
  width: 100%;
}

.about-hero:hover .about-monogram { border-color: rgb(233 164 134 / 38%); transform: rotate(-2deg) scale(1.015); }

.about-monogram::before,
.about-monogram::after {
  background: rgb(255 255 255 / 15%);
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.about-monogram::before { height: 1px; width: 116%; }
.about-monogram::after { height: 116%; width: 1px; }

.about-monogram span {
  color: #fffaf5;
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 880;
  letter-spacing: -.1em;
  line-height: 1;
  position: relative;
  text-align: center;
  z-index: 1;
}

.about-monogram span:nth-child(2) { color: #e9a486; }

.about-monogram i {
  bottom: 9%;
  color: rgb(255 255 255 / 48%);
  font-size: .57rem;
  font-style: normal;
  left: 50%;
  letter-spacing: .18em;
  position: absolute;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
}

.about-hero-index {
  bottom: 28px;
  color: rgb(255 255 255 / 42%);
  font-size: .65rem;
  font-weight: 800;
  left: clamp(36px, 7vw, 86px);
  letter-spacing: .1em;
  margin: 0;
  position: absolute;
  text-transform: uppercase;
}

.about-origin {
  display: grid;
  gap: clamp(35px, 7vw, 100px);
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.about-origin h2,
.about-principles > header h2,
.about-map-intro h2 {
  font-size: clamp(2.25rem, 5vw, 4.8rem);
  letter-spacing: -.055em;
  line-height: 1;
  margin: 16px 0 0;
}

.about-origin-copy {
  border-left: 1px solid var(--color-line);
  padding-left: clamp(25px, 5vw, 62px);
}

.about-origin-copy p {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 36%);
  font-family: var(--font-sans);
  font-size: clamp(1.02rem, 1.25vw, 1.13rem);
  font-weight: 520;
  letter-spacing: 0;
  line-height: 1.78;
  margin: 0 0 1.15em;
}

.about-principles > header { max-width: 760px; }

.about-principles-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 42px;
}

.about-principles-grid article {
  background: color-mix(in srgb, var(--color-surface) 94%, var(--color-soft-blue));
  border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent));
  box-shadow: 0 10px 28px rgb(23 25 28 / 5%);
  min-height: 320px;
  padding: clamp(26px, 4vw, 42px);
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.about-principles-grid article:first-child { border-radius: 24px 0 0 7px; }
.about-principles-grid article:last-child { border-radius: 0 7px 24px 0; }
.about-principles-grid article:hover { background: var(--color-surface); border-color: color-mix(in srgb, var(--color-accent) 38%, var(--color-line)); box-shadow: 0 24px 54px rgb(23 25 28 / 11%); transform: translateY(-5px); z-index: 1; }

.about-principles-grid article > span {
  color: var(--color-accent);
  display: block;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  margin-bottom: 70px;
}

.about-principles-grid h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  letter-spacing: -.03em;
}

.about-principles-grid p { color: var(--color-muted); line-height: 1.7; }

.about-manifesto {
  background: radial-gradient(circle at 86% 14%, rgb(255 230 205 / 16%), transparent 25%), linear-gradient(135deg, #b13b31, #8f2d27 62%, #5d211d);
  border: 0;
  border-radius: 8px 32px 8px 32px;
  box-shadow: 0 26px 62px rgb(112 37 31 / 18%);
  color: #fffaf5;
  margin: 0;
  overflow: hidden;
  padding: clamp(42px, 8vw, 92px);
  position: relative;
}

.about-manifesto::after {
  color: rgb(255 255 255 / 10%);
  content: "“";
  font-family: var(--font-serif);
  font-size: 24rem;
  line-height: 1;
  position: absolute;
  right: -20px;
  top: -45px;
}

.about-manifesto p {
  color: inherit;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 5rem);
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: 0;
  max-width: 920px;
  position: relative;
  z-index: 1;
}

.about-manifesto footer {
  color: rgb(255 255 255 / 70%);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .11em;
  margin-top: 32px;
  text-transform: uppercase;
}

.about-map {
  display: grid;
  gap: clamp(40px, 8vw, 110px);
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

.about-map-links { border-top: 1px solid var(--color-line); }

.about-map-links a {
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  border-radius: 12px 4px 12px 4px;
  color: var(--color-ink);
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1.2fr auto;
  padding: 25px 5px;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, padding 180ms ease;
}

.about-map-links a:hover,
.about-map-links a:focus-visible {
  background: color-mix(in srgb, var(--color-soft-blue) 35%, transparent);
  border-color: color-mix(in srgb, var(--color-accent) 28%, var(--color-line));
  color: var(--color-accent);
  outline: 0;
  padding-left: 10px;
  padding-right: 10px;
}

.about-map-links span { color: var(--color-muted); font-size: .72rem; text-transform: uppercase; transition: color 160ms ease; }
.about-map-links strong { font-size: 1.12rem; }
.about-map-links b { color: var(--color-accent); font-size: 1.25rem; transition: transform 160ms ease; }
.about-map-links a:hover span, .about-map-links a:focus-visible span { color: var(--color-accent-dark); }
.about-map-links a:hover b, .about-map-links a:focus-visible b { transform: translateX(6px); }

.about-invitation {
  align-items: center;
  background: color-mix(in srgb, var(--color-soft-blue) 58%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent));
  border-radius: 26px 8px 26px 8px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 45%), 0 18px 44px rgb(23 25 28 / 7%);
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 1fr;
  padding: clamp(30px, 6vw, 66px);
}

.about-invitation h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: -.045em;
  margin: 12px 0 0;
}

.about-invitation > p { color: var(--color-muted); line-height: 1.7; }
.about-invitation-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; grid-column: 1 / -1; }
.about-invitation-actions .text-link { color: var(--color-ink); font-weight: 800; transition: color 160ms ease, transform 160ms ease; }
.about-invitation-actions .text-link:hover, .about-invitation-actions .text-link:focus-visible { color: var(--color-accent-dark); outline: 0; transform: translateX(4px); }

@media (max-width: 800px) {
  .about-hero { grid-template-columns: 1fr; padding-bottom: 72px; }
  .about-monogram { max-width: 260px; }
  .about-origin,
  .about-map { grid-template-columns: 1fr; }
  .about-origin-copy { border-left: 0; border-top: 1px solid var(--color-line); padding-left: 0; padding-top: 32px; }
  .about-principles-grid { grid-template-columns: 1fr; }
  .about-principles-grid article { min-height: 0; }
  .about-principles-grid article:first-child { border-radius: 22px 7px 0 0; }
  .about-principles-grid article:last-child { border-radius: 0 0 22px 7px; }
  .about-principles-grid article > span { margin-bottom: 35px; }
  .about-invitation { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .about-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 34px 24px 72px; }
  .about-hero h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
  .about-monogram { max-width: 210px; }
  .about-map-links a { align-items: start; grid-template-columns: 1fr auto; }
  .about-map-links a span { grid-column: 1 / -1; }
  .about-invitation { padding: 30px 24px; }
}

.gospel-page {
  display: grid;
  gap: clamp(62px, 10vw, 125px);
}

.gospel-hero {
  align-items: center;
  background:
    radial-gradient(circle at 78% 17%, rgb(237 174 130 / 32%), transparent 28%),
    linear-gradient(135deg, #191615, #2b211e 72%, #171413);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 34px 9px 34px 9px;
  box-shadow: 0 34px 80px rgb(23 18 16 / 15%);
  color: #fffaf5;
  display: grid;
  gap: clamp(38px, 8vw, 100px);
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr);
  min-height: clamp(570px, 68vw, 750px);
  overflow: hidden;
  padding: clamp(38px, 7vw, 88px);
  position: relative;
}

.gospel-hero::after {
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
  content: "";
  height: 430px;
  position: absolute;
  right: -160px;
  top: -185px;
  width: 430px;
}

.gospel-hero-copy { position: relative; z-index: 1; }
.gospel-hero .eyebrow { color: #efad87; }

.gospel-hero h1 {
  color: inherit;
  font-size: clamp(3.4rem, 8.8vw, 8.2rem);
  letter-spacing: -.065em;
  line-height: .85;
  margin: 24px 0 34px;
}

.gospel-hero h1 em {
  color: #efad87;
  font-family: var(--font-serif);
  font-weight: 400;
}

.gospel-hero-copy > p:not(.eyebrow) {
  color: rgb(255 250 245 / 70%);
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.75;
  max-width: 660px;
}

.gospel-hero .button {
  background: #fffaf5;
  box-shadow: 0 16px 34px rgb(255 250 245 / 10%);
  color: #762b25;
  margin-top: 24px;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.gospel-hero .button:hover,
.gospel-hero .button:focus-visible { background: #efad87; color: #2b1714; transform: translateY(-2px); }
.gospel-hero .button:active { transform: translateY(1px) scale(.98); }

.gospel-hero-symbol {
  aspect-ratio: 1;
  backdrop-filter: blur(10px);
  background: rgb(255 255 255 / 4%);
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%), 0 24px 60px rgb(0 0 0 / 16%);
  justify-self: center;
  max-width: 330px;
  position: relative;
  transition: border-color 200ms ease, transform 220ms ease;
  width: 100%;
}

.gospel-hero:hover .gospel-hero-symbol { border-color: rgb(239 173 135 / 38%); transform: rotate(-2deg) scale(1.015); }

.gospel-hero-symbol span {
  background: #efad87;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.gospel-hero-symbol span:first-child { height: 63%; width: 11%; }
.gospel-hero-symbol span:nth-child(2) { height: 11%; top: 41%; width: 48%; }

.gospel-hero-symbol i {
  bottom: 12%;
  color: rgb(255 255 255 / 55%);
  font-family: var(--font-serif);
  font-size: .8rem;
  font-style: italic;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.gospel-hero-reference {
  bottom: 30px;
  color: rgb(255 255 255 / 48%);
  font-family: var(--font-serif);
  font-size: .76rem;
  left: clamp(38px, 7vw, 88px);
  margin: 0;
  position: absolute;
}

.gospel-intro {
  align-items: start;
  display: grid;
  gap: clamp(25px, 5vw, 68px);
  grid-template-columns: auto minmax(0, 1fr) minmax(280px, .8fr);
}

.gospel-intro-number {
  color: var(--color-accent);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .1em;
  margin: 6px 0 0;
}

.gospel-intro h2,
.gospel-movements > header h2,
.gospel-response h2,
.gospel-next h2,
.gospel-questions h2 {
  font-size: clamp(2.2rem, 5vw, 4.7rem);
  letter-spacing: -.055em;
  line-height: 1;
  margin: 14px 0 0;
}

.gospel-intro > p:last-child {
  border-left: 1px solid var(--color-line);
  color: var(--color-muted);
  line-height: 1.85;
  margin: 0;
  padding-left: clamp(24px, 4vw, 48px);
}

.gospel-movements > header { margin-bottom: clamp(36px, 7vw, 76px); max-width: 780px; }

.gospel-movement-list { display: grid; gap: 1px; }

.gospel-movement-list article {
  align-items: stretch;
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent));
  box-shadow: 0 14px 34px rgb(23 25 28 / 5%);
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  min-height: 410px;
  overflow: hidden;
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.gospel-movement-list article:hover {
  border-color: color-mix(in srgb, var(--color-accent) 32%, var(--color-line));
  box-shadow: 0 24px 56px rgb(23 25 28 / 10%);
  transform: translateY(-2px);
  z-index: 1;
}

.gospel-movement-list article:first-child { border-radius: 28px 8px 0 0; }
.gospel-movement-list article:last-child { border-radius: 0 0 28px 8px; }

.gospel-movement-visual {
  background: linear-gradient(145deg, #9db6ba, #4e7178);
  min-height: 320px;
  overflow: hidden;
  position: relative;
}

.gospel-movement-visual::after {
  background: radial-gradient(circle at 28% 22%, rgb(255 255 255 / 22%), transparent 26%);
  content: "";
  inset: 0;
  opacity: .8;
  position: absolute;
}

.gospel-movement-fracture { background: linear-gradient(145deg, #b9aea0, #5e5147); }
.gospel-movement-cross { background: linear-gradient(145deg, #d49b77, #8c3b32); }
.gospel-movement-dawn { background: linear-gradient(145deg, #efc68e, #b66648); }

.gospel-movement-visual span {
  color: rgb(255 255 255 / 70%);
  font-size: .7rem;
  font-weight: 850;
  left: 25px;
  letter-spacing: .12em;
  position: absolute;
  top: 24px;
  z-index: 1;
}

.gospel-movement-visual i {
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 50%;
  height: 240px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: transform 280ms ease, opacity 280ms ease;
  width: 240px;
}

.gospel-movement-list article:hover .gospel-movement-visual i:first-of-type { transform: translate(-50%, -50%) scale(1.05); }

.gospel-movement-visual i:nth-of-type(2) { height: 155px; width: 155px; }
.gospel-movement-visual i:nth-of-type(3) { background: rgb(255 255 255 / 74%); border: 0; height: 42px; width: 42px; }

.gospel-movement-fracture i { border-radius: 0; transform: translate(-50%, -50%) rotate(45deg); }
.gospel-movement-cross i:first-of-type { border: 0; border-radius: 0; background: rgb(255 250 245 / 72%); height: 190px; width: 28px; }
.gospel-movement-cross i:nth-of-type(2) { border: 0; border-radius: 0; background: rgb(255 250 245 / 72%); height: 28px; top: 42%; width: 132px; }
.gospel-movement-cross i:nth-of-type(3) { display: none; }
.gospel-movement-dawn i:first-of-type { background: rgb(255 250 245 / 66%); border: 0; box-shadow: 0 0 50px rgb(255 250 245 / 38%); height: 105px; top: 60%; width: 105px; }
.gospel-movement-dawn i:nth-of-type(2), .gospel-movement-dawn i:nth-of-type(3) { border-radius: 0; border-width: 0 0 1px; height: 1px; top: 76%; width: 72%; }

.gospel-movement-copy {
  align-self: center;
  padding: clamp(32px, 6vw, 72px);
}

.gospel-movement-copy h3 {
  font-size: clamp(1.8rem, 3.8vw, 3.4rem);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: 12px 0 22px;
}

.gospel-movement-copy > p:not(.eyebrow):not(.gospel-scripture) { color: var(--color-muted); line-height: 1.8; }
.gospel-scripture { color: var(--color-accent); font-size: .95rem; font-weight: 820; letter-spacing: .015em; margin-top: 25px; }

.gospel-summary {
  background: radial-gradient(circle at 86% 14%, rgb(255 230 205 / 17%), transparent 25%), linear-gradient(135deg, #ae392f, #8d2d27 64%, #5a201c);
  border: 0;
  border-radius: 9px 30px 9px 30px;
  box-shadow: 0 26px 62px rgb(112 37 31 / 18%);
  color: #fffaf5;
  margin: 0;
  overflow: hidden;
  padding: clamp(40px, 8vw, 90px);
  position: relative;
}

.gospel-summary::after {
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 50%;
  content: "";
  height: 340px;
  position: absolute;
  right: -140px;
  top: -165px;
  width: 340px;
}

.gospel-summary > * { position: relative; z-index: 1; }

.gospel-summary .eyebrow { color: #f4c0a3; }
.gospel-summary strong { display: block; font-family: var(--font-serif); font-size: clamp(2rem, 5vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.08; margin-top: 22px; }
.gospel-summary footer { color: rgb(255 255 255 / 70%); font-size: .75rem; margin-top: 32px; }

.gospel-response {
  align-items: center;
  display: grid;
  gap: clamp(40px, 8vw, 110px);
  grid-template-columns: 1fr 1fr;
}

.gospel-response-copy > p:last-child { color: var(--color-muted); line-height: 1.8; margin-top: 26px; }

.gospel-prayer {
  background:
    radial-gradient(circle at 12% 8%, rgb(201 111 95 / 12%), transparent 32%),
    radial-gradient(circle at 92% 12%, rgb(232 154 134 / 14%), transparent 34%),
    linear-gradient(145deg, #fff7ec 0%, #f9ead8 54%, #fff4e8 100%);
  border: 1px solid rgb(177 84 67 / 18%);
  border-radius: 26px 8px 26px 8px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 62%), 0 18px 44px rgb(112 76 47 / 8%);
  padding: clamp(30px, 5vw, 58px);
  position: relative;
}

.gospel-prayer::before {
  color: color-mix(in srgb, var(--color-accent) 24%, transparent);
  content: "“";
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(7.8rem, 13vw, 12rem);
  font-weight: 400;
  left: 18px;
  line-height: .72;
  position: absolute;
  top: -7px;
}

.gospel-prayer p { color: #3a2520; font-family: var(--font-sans); font-size: clamp(1.08rem, 1.7vw, 1.34rem); font-weight: 520; letter-spacing: 0; line-height: 1.75; margin: 0; position: relative; z-index: 1; }
.gospel-prayer span { color: #7a5a4e; display: block; font-size: .7rem; font-weight: 780; letter-spacing: .08em; margin-top: 25px; text-transform: uppercase; }

.gospel-next > header { max-width: 830px; }
.gospel-next-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 44px; }
.gospel-next-grid a { background: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent)); box-shadow: 0 10px 28px rgb(23 25 28 / 5%); color: var(--color-ink); display: grid; min-height: 250px; padding: clamp(25px, 4vw, 40px); text-decoration: none; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease; }
.gospel-next-grid a:first-child { border-radius: 24px 0 0 7px; }
.gospel-next-grid a:last-child { border-radius: 0 7px 24px 0; }
.gospel-next-grid a:hover, .gospel-next-grid a:focus-visible { background: var(--color-ink); border-color: color-mix(in srgb, var(--color-accent) 45%, var(--color-ink)); box-shadow: 0 24px 54px rgb(23 25 28 / 14%); color: var(--color-paper); outline: 0; transform: translateY(-5px); }
.gospel-next-grid a:active { transform: translateY(-1px) scale(.985); }
.gospel-next-grid span { color: var(--color-accent); font-size: .65rem; font-weight: 850; }
.gospel-next-grid strong { align-self: end; font-size: 1.25rem; }
.gospel-next-grid small { color: var(--color-muted); margin-top: 8px; transition: color 160ms ease; }
.gospel-next-grid a:hover small, .gospel-next-grid a:focus-visible small { color: rgb(255 255 255 / 64%); }
.gospel-next-grid b { color: var(--color-accent); font-size: 1.25rem; justify-self: end; margin-top: 18px; transition: color 160ms ease, transform 160ms ease; }
.gospel-next-grid a:hover b, .gospel-next-grid a:focus-visible b { color: #e9a486; transform: translateX(6px); }

.gospel-questions { display: grid; gap: clamp(35px, 8vw, 100px); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.gospel-question-list { border-top: 1px solid var(--color-line); }
.gospel-question-list details { border-bottom: 1px solid var(--color-line); transition: background-color 160ms ease, border-color 160ms ease; }
.gospel-question-list details:hover, .gospel-question-list details[open] { background: color-mix(in srgb, var(--color-soft-blue) 36%, transparent); border-color: color-mix(in srgb, var(--color-accent) 28%, var(--color-line)); }
.gospel-question-list summary { align-items: center; border-radius: 12px 4px 12px 4px; cursor: pointer; display: flex; font-size: 1.05rem; font-weight: 800; gap: 20px; justify-content: space-between; list-style: none; padding: 24px 12px; transition: color 160ms ease; }
.gospel-question-list summary::-webkit-details-marker { display: none; }
.gospel-question-list summary span { color: var(--color-accent); font-size: 1.5rem; transition: transform 180ms ease; }
.gospel-question-list summary:hover, .gospel-question-list summary:focus-visible { color: var(--color-accent-dark); outline: 0; }
.gospel-question-list details[open] summary span { transform: rotate(45deg); }
.gospel-question-list details p { color: var(--color-muted); line-height: 1.75; margin: 0; padding: 0 35px 25px 12px; }

@media (max-width: 800px) {
  .gospel-hero { grid-template-columns: 1fr; padding-bottom: 78px; }
  .gospel-hero-symbol { max-width: 230px; }
  .gospel-intro { grid-template-columns: auto 1fr; }
  .gospel-intro > p:last-child { border-left: 0; border-top: 1px solid var(--color-line); grid-column: 1 / -1; padding-left: 0; padding-top: 28px; }
  .gospel-movement-list article { grid-template-columns: 1fr; }
  .gospel-movement-visual { min-height: 280px; }
  .gospel-response, .gospel-questions { grid-template-columns: 1fr; }
  .gospel-next-grid { grid-template-columns: 1fr; }
  .gospel-next-grid a { min-height: 210px; }
  .gospel-next-grid a:first-child { border-radius: 22px 7px 0 0; }
  .gospel-next-grid a:last-child { border-radius: 0 0 22px 7px; }
}

@media (max-width: 560px) {
  .gospel-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 35px 24px 78px; }
  .gospel-hero h1 { font-size: clamp(3.2rem, 17vw, 5rem); }
  .gospel-hero-reference { bottom: 25px; left: 24px; max-width: calc(100% - 48px); }
  .gospel-movement-list article { min-height: 0; }
  .gospel-movement-copy { padding: 30px 24px 36px; }
  .gospel-summary { padding: 38px 26px; }
}

.worldview-page { display: grid; gap: clamp(58px, 8vw, 110px); padding-bottom: 82px; }
.worldview-hero { align-items: center; background: radial-gradient(circle at 12% 8%, rgb(232 154 134 / 18%), transparent 28rem), radial-gradient(circle at 86% 16%, rgb(244 209 143 / 20%), transparent 32rem), linear-gradient(135deg, #171514 0%, #2d211c 62%, #171514 100%); border: 1px solid rgb(255 255 255 / 11%); border-radius: 36px 9px 36px 9px; box-shadow: 0 34px 80px rgb(23 18 16 / 15%); color: #fffaf5; display: grid; gap: clamp(34px, 7vw, 90px); grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); min-height: clamp(620px, 74vw, 820px); overflow: hidden; padding: clamp(38px, 7vw, 88px); position: relative; }
.worldview-hero::after { border: 1px solid rgb(255 255 255 / 8%); border-radius: 50%; content: ""; height: 520px; position: absolute; right: -190px; top: -235px; width: 520px; }
.worldview-hero-copy { position: relative; z-index: 1; }
.worldview-hero .eyebrow { color: #e9a486; }
.worldview-hero h1 { color: inherit; font-size: clamp(3.15rem, 8vw, 7.8rem); letter-spacing: -.064em; line-height: .86; margin: 24px 0 32px; }
.worldview-hero h1 em { color: #e9a486; display: block; font-family: var(--font-serif); font-weight: 400; }
.worldview-hero-copy > p:not(.eyebrow) { color: rgb(255 250 245 / 82%); font-size: clamp(1rem, 1.65vw, 1.2rem); line-height: 1.76; max-width: 670px; }
.worldview-hero .button { background: #fffaf5; box-shadow: 0 16px 34px rgb(255 250 245 / 10%); color: #712921; margin-top: 26px; }
.worldview-hero .button:hover, .worldview-hero .button:focus-visible { background: #e9a486; color: #281713; transform: translateY(-2px); }
.worldview-hero-editorial { grid-template-columns: minmax(0, 1.18fr) minmax(260px, .82fr); }
.worldview-hero-statement {
  align-self: stretch;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
  border-top: 1px solid rgb(255 255 255 / 14%);
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  padding: clamp(18px, 4vw, 38px) 0;
  position: relative;
  z-index: 1;
}
.worldview-hero-statement span {
  align-items: center;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  color: rgb(255 250 245 / 55%);
  display: flex;
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 2.8rem);
  font-style: italic;
  justify-content: space-between;
  letter-spacing: -.045em;
  min-height: 68px;
}
.worldview-hero-statement span::after {
  background: #e9a486;
  border-radius: 999px;
  content: "";
  height: 7px;
  opacity: .8;
  width: 7px;
}
.worldview-hero-statement span:last-child { border-bottom: 0; color: rgb(255 250 245 / 78%); }
.worldview-index { align-items: center; backdrop-filter: blur(18px); background: color-mix(in srgb, var(--color-surface), var(--color-paper) 12%); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 16%); border-radius: 18px 6px 18px 6px; bottom: 24px; box-shadow: 0 18px 44px rgb(82 60 42 / 12%); display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; left: 50%; max-width: calc(100vw - 40px); padding: 9px; position: fixed; top: auto; transform: translateX(-50%); width: max-content; z-index: 30; }
.worldview-index a { align-items: center; border-radius: 999px; color: var(--color-muted); display: inline-flex; font-size: .78rem; font-weight: 820; gap: 7px; min-height: 36px; padding: 0 12px; text-decoration: none; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; }
.worldview-index a span { color: var(--color-accent); font-size: .68rem; font-weight: 900; }
.worldview-index a:hover, .worldview-index a:focus-visible { background: var(--color-ink); color: var(--color-paper); transform: translateY(-1px); }
.worldview-index a:hover span, .worldview-index a:focus-visible span { color: #f2b696; }
.worldview-index a.is-active,
.worldview-index a[aria-current="true"] {
  background: var(--color-ink);
  box-shadow: 0 8px 18px rgb(23 25 28 / 13%);
  color: var(--color-paper);
}
.worldview-index a.is-active span,
.worldview-index a[aria-current="true"] span { color: #f2b696; }
.worldview-intro { align-items: start; display: grid; gap: clamp(24px, 5vw, 64px); grid-template-columns: auto minmax(0, 1fr) minmax(280px, .86fr); }
.worldview-intro-number { color: var(--color-accent); font-size: .68rem; font-weight: 860; letter-spacing: .1em; margin: 6px 0 0; }
.worldview-intro h2, .worldview-panel h2, .worldview-reading h2, .worldview-closing h2 { font-size: clamp(2.15rem, 5vw, 4.7rem); letter-spacing: -.055em; line-height: 1; margin: 12px 0 0; }
.worldview-intro > p:last-child { border-left: 1px solid var(--color-line); color: var(--color-muted); line-height: 1.85; margin: 0; padding-left: clamp(22px, 4vw, 46px); }
.worldview-sections { display: grid; gap: 1px; }
.worldview-panel { align-items: center; background: color-mix(in srgb, var(--color-surface), #fff 3%); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 12%); box-shadow: 0 14px 34px rgb(82 60 42 / 6%); display: grid; gap: clamp(28px, 6vw, 80px); grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr); min-height: 520px; padding: clamp(28px, 5vw, 58px); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.worldview-panel:first-child { border-radius: 28px 8px 0 0; }
.worldview-panel:last-child { border-radius: 0 0 28px 8px; }
.worldview-panel:hover { border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 36%); box-shadow: 0 24px 56px rgb(82 60 42 / 10%); transform: translateY(-2px); z-index: 1; }
.worldview-panel-reverse { grid-template-columns: minmax(0, 1.24fr) minmax(280px, .76fr); }
.worldview-panel-reverse .worldview-art { order: 2; }
.worldview-panel-copy { max-width: 760px; }
.worldview-sections-editorial .worldview-panel {
  grid-template-columns: minmax(90px, .28fr) minmax(0, 1fr);
  min-height: 420px;
  scroll-margin-block: max(0px, calc((100svh - 420px) / 2));
}
.worldview-sections-editorial .worldview-panel-copy { max-width: 880px; }
.worldview-panel-number {
  color: color-mix(in srgb, var(--color-accent) 42%, transparent);
  font-family: var(--font-serif);
  font-size: clamp(4.6rem, 12vw, 10.5rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.075em;
  line-height: .8;
  margin: 0;
}
.worldview-sections-editorial .worldview-panel:nth-child(even) {
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--color-accent), transparent 88%), transparent 18rem),
    color-mix(in srgb, var(--color-surface), #fff 3%);
}
.worldview-panel-copy > p:not(.eyebrow):not(.worldview-scripture), .worldview-reading > div:last-child > p:not(.eyebrow):not(.worldview-scripture) { color: var(--color-muted); font-size: calc(1rem * var(--site-text-scale)); line-height: 1.82; }
.worldview-scripture { color: var(--color-accent); font-size: .94rem; font-weight: 820; letter-spacing: .015em; margin-top: 24px; }
.worldview-art { aspect-ratio: 1; background: radial-gradient(circle at 28% 18%, rgb(255 255 255 / 30%), transparent 26%), linear-gradient(145deg, #f8e4cc, #e7b58a); border: 1px solid rgb(124 82 55 / 14%); border-radius: 30px 8px 30px 8px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 38%), 0 22px 50px rgb(82 60 42 / 13%); max-width: 380px; overflow: hidden; position: relative; width: 100%; }
.worldview-art * { position: absolute; }
.worldview-svg-art { display: block; height: auto; }
.worldview-svg-art * { position: static; }
.worldview-art-earth { background: radial-gradient(circle at 48% 40%, rgb(255 255 255 / 16%), transparent 8rem), linear-gradient(145deg, #0d151d, #1e3942 58%, #0f171d); justify-self: center; max-width: 440px; z-index: 1; }
.worldview-globe { background: linear-gradient(90deg, transparent 48%, rgb(255 255 255 / 12%) 49% 51%, transparent 52%), linear-gradient(0deg, transparent 48%, rgb(255 255 255 / 10%) 49% 51%, transparent 52%), radial-gradient(circle at 34% 30%, #71a9a5, #2f7885 50%, #174750 100%); border: 1px solid rgb(255 255 255 / 16%); border-radius: 50%; box-shadow: inset -28px -34px 48px rgb(0 0 0 / 28%), 0 0 56px rgb(105 194 223 / 18%); height: 64%; left: 18%; overflow: hidden; top: 18%; width: 64%; }
.worldview-continent { background: #d7bd76; border-radius: 48% 36% 48% 34%; opacity: .92; }
.worldview-continent-west { clip-path: polygon(8% 16%, 54% 4%, 75% 25%, 68% 54%, 92% 72%, 54% 96%, 20% 76%, 32% 48%); height: 31%; left: 22%; top: 24%; width: 34%; }
.worldview-continent-east { clip-path: polygon(26% 0%, 90% 14%, 74% 45%, 96% 74%, 52% 100%, 12% 72%, 24% 42%, 0% 18%); height: 38%; right: 12%; top: 34%; width: 34%; }
.worldview-france { background: #fff2b8; box-shadow: 0 0 20px rgb(244 209 143 / 70%); clip-path: polygon(42% 0%, 62% 10%, 72% 28%, 95% 36%, 76% 52%, 82% 76%, 56% 100%, 35% 82%, 12% 88%, 20% 58%, 0% 40%, 24% 24%); height: 12%; left: 47%; top: 36%; width: 10%; z-index: 2; }
.worldview-orbit { border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; height: 78%; left: 11%; top: 11%; width: 78%; }
.worldview-orbit-one { transform: rotate(-23deg) scaleX(1.18); }
.worldview-orbit-two { transform: rotate(32deg) scaleX(1.1); }
.worldview-star { background: #f4d18f; border-radius: 50%; height: 7px; width: 7px; }
.worldview-star-one { right: 18%; top: 18%; }
.worldview-star-two { bottom: 24%; left: 15%; opacity: .65; }
.worldview-art-sunrise { background: linear-gradient(180deg, #5e2f3a 0%, #e89a86 48%, #f8dfae 100%); }
.worldview-sun { background: #ffe3a2; border-radius: 50%; box-shadow: 0 0 58px rgb(255 227 162 / 58%); height: 34%; left: 33%; top: 32%; width: 34%; }
.worldview-horizon { background: #5a3028; bottom: 26%; height: 12%; left: 0; width: 100%; }
.worldview-art-sunrise i { background: rgb(255 250 245 / 34%); border-radius: 999px; height: 2px; left: 18%; width: 64%; }
.worldview-art-sunrise i:nth-of-type(1) { bottom: 20%; }
.worldview-art-sunrise i:nth-of-type(2) { bottom: 15%; left: 24%; width: 52%; }
.worldview-art-sunrise i:nth-of-type(3) { bottom: 10%; left: 32%; width: 36%; }
.worldview-art-fall { background: linear-gradient(145deg, #362a27, #8e3d36 60%, #2a201d); }
.worldview-broken-world { background: radial-gradient(circle at 35% 28%, #d9b18a, #87534a 60%, #3f2b29 100%); border-radius: 50%; height: 58%; left: 21%; top: 20%; width: 58%; }
.worldview-crack { background: #171312; border-radius: 999px; transform-origin: top; width: 4px; z-index: 2; }
.worldview-crack-one { height: 54%; left: 49%; top: 21%; transform: rotate(15deg); }
.worldview-crack-two { height: 34%; left: 56%; top: 39%; transform: rotate(-44deg); }
.worldview-art-fall b { background: #f2b696; border-radius: 50% 50% 44% 44%; bottom: 16%; height: 13%; left: 44%; opacity: .9; width: 12%; }
.worldview-art-covenant { background: linear-gradient(145deg, #f6e0c2, #d49b77); }
.worldview-path { border: 3px solid transparent; border-bottom-color: #8d4b36; border-left-color: #8d4b36; border-radius: 50%; height: 72%; left: 13%; top: 8%; transform: rotate(-20deg); width: 72%; }
.worldview-art-covenant i { background: #fff8df; border-radius: 50%; box-shadow: 0 0 18px rgb(255 248 223 / 55%); height: 9px; width: 9px; }
.worldview-art-covenant i:nth-of-type(1) { left: 18%; top: 24%; }
.worldview-art-covenant i:nth-of-type(2) { left: 36%; top: 52%; }
.worldview-art-covenant i:nth-of-type(3) { right: 28%; top: 30%; }
.worldview-art-covenant i:nth-of-type(4) { right: 18%; bottom: 22%; }
.worldview-art-covenant b { background: #7a402e; border-radius: 18px 18px 4px 4px; bottom: 18%; height: 28%; left: 42%; width: 16%; }
.worldview-art-cross { background: radial-gradient(circle at 50% 45%, rgb(255 227 162 / 42%), transparent 36%), linear-gradient(145deg, #241c1a, #7d332e); }
.worldview-cross-vertical, .worldview-cross-horizontal { background: #fff1c6; border-radius: 4px; box-shadow: 0 0 34px rgb(255 241 198 / 40%); left: 50%; top: 50%; transform: translate(-50%, -50%); }
.worldview-cross-vertical { height: 58%; width: 10%; }
.worldview-cross-horizontal { height: 10%; top: 42%; width: 44%; }
.worldview-art-cross i { border: 1px solid rgb(255 250 245 / 14%); border-radius: 50%; height: 68%; left: 16%; top: 16%; width: 68%; }
.worldview-art-cross i:nth-of-type(2) { height: 46%; left: 27%; top: 27%; width: 46%; }
.worldview-art-kingdom { background: linear-gradient(180deg, #2c2331 0%, #9b4f45 58%, #f0b889 100%); }
.worldview-open-door { background: linear-gradient(180deg, #fff6c8, #e9a486); border-radius: 999px 999px 6px 6px; bottom: 18%; box-shadow: 0 0 46px rgb(255 246 200 / 46%); height: 58%; left: 35%; width: 30%; }
.worldview-art-kingdom i { background: rgb(255 250 245 / 42%); border-radius: 999px; height: 2px; left: 18%; width: 64%; }
.worldview-art-kingdom i:nth-of-type(1) { top: 24%; }
.worldview-art-kingdom i:nth-of-type(2) { top: 34%; left: 26%; width: 48%; }
.worldview-art-kingdom i:nth-of-type(3) { bottom: 14%; left: 12%; width: 76%; }
.worldview-art-kingdom b { background: #4a2a29; bottom: 0; height: 22%; left: 0; width: 100%; }
.worldview-art-city { background: linear-gradient(180deg, #f5d5a6, #c87560 58%, #59342f); }
.worldview-river { background: #9fd0c8; border-radius: 50% 50% 0 0; bottom: -10%; height: 34%; left: 17%; transform: rotate(-8deg); width: 66%; }
.worldview-building-one, .worldview-building-two { background: #fff2d3; bottom: 28%; border-radius: 7px 7px 0 0; }
.worldview-building-one { height: 35%; left: 24%; width: 16%; }
.worldview-building-two { height: 48%; right: 24%; width: 20%; }
.worldview-tree-one, .worldview-tree-two { background: #6d7743; border-radius: 50% 50% 42% 42%; bottom: 29%; height: 16%; width: 13%; }
.worldview-tree-one { left: 43%; }
.worldview-tree-two { right: 15%; }
.worldview-art-city b { background: rgb(255 250 245 / 16%); border-radius: 50%; height: 62%; left: 19%; top: 8%; width: 62%; }
.worldview-reading { align-items: center; background: radial-gradient(circle at 14% 10%, rgb(201 111 95 / 10%), transparent 26rem), color-mix(in srgb, var(--color-surface), #fff 3%); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 12%); border-radius: 28px 8px 28px 8px; box-shadow: 0 18px 44px rgb(82 60 42 / 7%); display: grid; gap: clamp(28px, 6vw, 80px); grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); padding: clamp(30px, 6vw, 70px); }
.worldview-reading-editorial { grid-template-columns: minmax(90px, .28fr) minmax(0, 1fr); }
.worldview-reading-editorial { scroll-margin-block: max(0px, calc((100svh - 420px) / 2)); }
.worldview-art-book { background: linear-gradient(145deg, #f7e3c5, #c96f5f); }
.worldview-book-left, .worldview-book-right { background: #fff8ec; border: 1px solid rgb(92 67 43 / 14%); bottom: 22%; height: 48%; width: 34%; }
.worldview-book-left { border-radius: 18px 4px 4px 18px; left: 16%; transform: skewY(7deg); }
.worldview-book-right { border-radius: 4px 18px 18px 4px; right: 16%; transform: skewY(-7deg); }
.worldview-art-book i { background: #b85f51; border-radius: 999px; height: 2px; left: 24%; width: 52%; }
.worldview-art-book i:nth-of-type(1) { top: 42%; }
.worldview-art-book i:nth-of-type(2) { top: 50%; }
.worldview-art-book i:nth-of-type(3) { top: 58%; }
.worldview-art-book b { background: #f4d18f; border-radius: 50%; height: 16%; right: 18%; top: 18%; width: 16%; }
.worldview-reading-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 28px 0; }
.worldview-reading-grid article { background: color-mix(in srgb, var(--color-paper), var(--color-surface) 45%); border: 1px solid var(--color-line); border-radius: 16px 5px 16px 5px; padding: 18px; }
.worldview-reading-grid span { color: var(--color-accent-dark); display: block; font-size: .78rem; font-weight: 860; margin-bottom: 8px; text-transform: uppercase; }
.worldview-reading-grid p { color: var(--color-muted); font-size: .88rem; line-height: 1.62; margin: 0; }
.worldview-closing { background: radial-gradient(circle at 83% 14%, rgb(255 230 205 / 17%), transparent 25%), linear-gradient(135deg, #ae392f, #8d2d27 64%, #5a201c); border-radius: 9px 30px 9px 30px; box-shadow: 0 26px 62px rgb(112 37 31 / 18%); color: #fffaf5; padding: clamp(38px, 8vw, 84px); }
.worldview-closing p { color: rgb(255 250 245 / 72%); font-size: clamp(1rem, 1.8vw, 1.28rem); line-height: 1.75; margin: 0; max-width: 760px; }
.worldview-closing h2 { color: inherit; margin-bottom: 30px; }
.worldview-closing > div { display: flex; flex-wrap: wrap; gap: 14px; }
.worldview-comparison-hero {
  background:
    radial-gradient(circle at 12% 10%, rgb(122 170 164 / 18%), transparent 29rem),
    radial-gradient(circle at 88% 18%, rgb(232 154 134 / 16%), transparent 32rem),
    linear-gradient(135deg, #151719 0%, #26312f 58%, #171514 100%);
}
.worldview-comparison-hero .eyebrow,
.worldview-comparison-hero h1 em { color: #9fd0c8; }
.worldview-comparison-hero .button { color: #18342f; }
.worldview-comparison-hero .button:hover,
.worldview-comparison-hero .button:focus-visible { background: #9fd0c8; color: #102522; }
.worldview-comparison-hero .worldview-hero-statement span::after { background: #9fd0c8; }
.worldview-comparison-grid .worldview-panel { scroll-margin-block: max(0px, calc((100svh - 420px) / 2)); }
.worldview-panel-highlight {
  background:
    radial-gradient(circle at 92% 12%, rgb(159 208 200 / 18%), transparent 18rem),
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface), #fff 5%), color-mix(in srgb, #f4eee2, var(--color-surface) 50%));
}
.worldview-panel-highlight .worldview-panel-number,
.worldview-classical-theism .worldview-panel-number,
.worldview-christian-answer .worldview-panel-number { color: rgb(82 131 123 / 28%); }
.worldview-thesis {
  border-top: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 24%);
  color: var(--color-accent-dark);
  font-size: .94rem;
  font-weight: 820;
  line-height: 1.55;
  margin-top: 24px;
  padding-top: 18px;
}
.worldview-criteria .worldview-reading-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.worldview-classical-theism {
  background:
    radial-gradient(circle at 14% 10%, rgb(159 208 200 / 15%), transparent 26rem),
    color-mix(in srgb, var(--color-surface), #fff 3%);
}
.worldview-christian-answer {
  background:
    radial-gradient(circle at 86% 12%, rgb(232 154 134 / 13%), transparent 24rem),
    color-mix(in srgb, var(--color-surface), #fff 3%);
}

@media (max-width: 900px) {
  .worldview-hero, .worldview-panel, .worldview-panel-reverse, .worldview-reading, .worldview-intro { grid-template-columns: 1fr; }
  .worldview-panel-reverse .worldview-art { order: 0; }
  .worldview-art { max-width: min(100%, 360px); }
  .worldview-hero-statement { align-self: auto; }
  .worldview-hero-statement span { min-height: 56px; }
  .worldview-panel-number { font-size: clamp(3.6rem, 18vw, 7rem); }
  .worldview-criteria .worldview-reading-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .worldview-index { display: none; }
}

@media (max-width: 620px) {
  .worldview-page { padding-bottom: 0; }
  .worldview-hero { min-height: auto; padding: 30px 20px; }
  .worldview-reading-grid { grid-template-columns: 1fr; }
  .worldview-criteria .worldview-reading-grid { grid-template-columns: 1fr; }
  .worldview-panel { min-height: auto; }
}

.contact-page {
  display: grid;
  gap: clamp(44px, 7vw, 84px);
}

.contact-intro {
  background:
    radial-gradient(circle at 82% 18%, rgb(232 161 126 / 28%), transparent 27%),
    linear-gradient(135deg, #171514, #2a211e 72%, #171514);
  border-radius: 34px 9px 34px 9px;
  color: #fffaf5;
  display: grid;
  gap: 42px clamp(35px, 8vw, 110px);
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  min-height: 580px;
  overflow: hidden;
  padding: clamp(36px, 7vw, 84px);
  position: relative;
}

.contact-intro::after {
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
  content: "";
  height: 390px;
  position: absolute;
  right: -145px;
  top: -180px;
  width: 390px;
}

.contact-intro .eyebrow { color: #e9a486; }

.contact-intro h1 {
  color: inherit;
  font-size: clamp(3rem, 7vw, 6.5rem);
  letter-spacing: -.06em;
  line-height: .92;
  margin: 22px 0 30px;
}

.contact-intro h1 em {
  color: #e9a486;
  font-family: var(--font-serif);
  font-weight: 400;
}

.contact-intro > div:first-child > p:last-child {
  color: rgb(255 250 245 / 68%);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.7;
  max-width: 620px;
}

.contact-reasons {
  align-self: center;
  border-top: 1px solid rgb(255 255 255 / 15%);
  position: relative;
  z-index: 1;
}

.contact-reasons > div {
  border-bottom: 1px solid rgb(255 255 255 / 15%);
  display: grid;
  gap: 6px 16px;
  grid-template-columns: auto 1fr;
  padding: 21px 2px;
}

.contact-reasons span {
  color: #e9a486;
  font-size: .62rem;
  font-weight: 850;
  grid-row: 1 / 3;
  letter-spacing: .1em;
  padding-top: 4px;
}

.contact-reasons strong { font-size: .95rem; }
.contact-reasons small { color: rgb(255 255 255 / 52%); line-height: 1.45; }

.contact-intro-note {
  align-items: center;
  bottom: 28px;
  color: rgb(255 255 255 / 47%);
  display: flex;
  font-size: .68rem;
  gap: 10px;
  left: clamp(36px, 7vw, 84px);
  margin: 0;
  position: absolute;
}

.contact-intro-note i { background: #e9a486; border-radius: 50%; height: 6px; width: 6px; }

.contact-form-shell {
  background:
    radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--color-accent), transparent 90%), transparent 12rem),
    var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 28px 8px 28px 8px;
  box-shadow: 0 24px 64px rgb(23 25 28 / 9%);
  padding: clamp(28px, 6vw, 70px);
}

.contact-form-heading {
  align-items: end;
  border-bottom: 1px solid var(--color-line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 34px;
  padding-bottom: 26px;
}

.contact-form-heading h2 {
  font-size: clamp(2.2rem, 5vw, 4.3rem);
  letter-spacing: -.055em;
  margin: 10px 0 0;
}

.contact-form-heading > p {
  color: var(--color-muted);
  font-size: .75rem;
  margin: 0 0 8px;
}

.contact-form-heading > p span,
.contact-form label > span b { color: var(--color-accent); }

.contact-form-error {
  align-items: start;
  display: grid;
  gap: 4px;
  margin-bottom: 28px;
}

.contact-form {
  gap: 24px;
  margin: 0;
}

.contact-name-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form label { gap: 9px; }

.contact-form label > span:first-child {
  font-size: .78rem;
  font-weight: 820;
  letter-spacing: .025em;
}

.contact-form label > span b { font-weight: inherit; }

.contact-form label > small {
  color: var(--color-muted);
  font-size: .72rem;
  font-weight: 500;
}

.contact-form.form-stack input[type="email"],
.contact-form.form-stack input[type="number"],
.contact-form.form-stack input[type="text"],
.contact-form.form-stack textarea {
  background: color-mix(in srgb, var(--color-paper) 45%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-ink) 7%);
  border-radius: 13px 5px 13px 5px;
  min-height: 54px;
  padding: 13px 15px;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}

.contact-form.form-stack textarea { min-height: 190px; padding-top: 15px; }

.contact-form.form-stack input:focus,
.contact-form.form-stack textarea:focus {
  background: var(--color-surface);
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 13%, transparent);
  outline: 0;
  transform: translateY(-1px);
}

.contact-form-footer {
  align-items: end;
  border-top: 1px solid var(--color-line);
  display: grid;
  gap: 8px 24px;
  grid-template-columns: minmax(220px, 1fr) auto;
  margin-top: 8px;
  padding-top: 28px;
}

.contact-captcha {
  grid-column: 1;
  grid-row: 1;
  max-width: 300px;
}

.contact-captcha-question {
  color: var(--color-muted);
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 400;
}

.contact-captcha input { max-width: 140px; }

.contact-form-footer > p {
  color: var(--color-muted);
  font-size: .69rem;
  grid-column: 1;
  margin: 0;
  max-width: 360px;
}

.contact-submit {
  grid-column: 2;
  grid-row: 1 / 3;
  min-height: 54px;
}

.contact-submit span { transition: transform 180ms ease; }
.contact-submit:hover span, .contact-submit:focus-visible span { transform: translateX(5px); }

.contact-alternatives {
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  border-top: 1px solid var(--color-line);
  display: flex;
  gap: 30px;
  justify-content: space-between;
  padding: 23px 2px;
}

.contact-alternatives > p { color: var(--color-muted); font-family: var(--font-serif); font-style: italic; margin: 0; }
.contact-alternatives nav { display: flex; flex-wrap: wrap; gap: clamp(18px, 4vw, 42px); }
.contact-alternatives a { color: var(--color-ink); font-size: .75rem; font-weight: 800; text-decoration: none; }
.contact-alternatives a span { color: var(--color-accent); margin-left: 5px; }
.contact-alternatives a:hover, .contact-alternatives a:focus-visible { color: var(--color-accent); outline: 0; }

.contact-success {
  align-items: center;
  background:
    radial-gradient(circle at 15% 18%, rgb(232 161 126 / 30%), transparent 26%),
    linear-gradient(135deg, #171514, #2a211e 72%, #171514);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 34px 9px 34px 9px;
  box-shadow: 0 32px 72px rgb(23 18 16 / 16%);
  color: #fffaf5;
  display: grid;
  gap: clamp(35px, 7vw, 90px);
  grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr);
  min-height: 620px;
  overflow: hidden;
  padding: clamp(38px, 8vw, 90px);
  position: relative;
}

.contact-success-mark {
  aspect-ratio: 1;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 5%), 0 24px 60px rgb(0 0 0 / 18%);
  justify-self: center;
  max-width: 280px;
  position: relative;
  width: 100%;
}

.contact-success-mark span {
  border-bottom: 11px solid #e9a486;
  border-right: 11px solid #e9a486;
  height: 40%;
  left: 49%;
  position: absolute;
  top: 43%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 22%;
}

.contact-success-copy .eyebrow { color: #e9a486; }
.contact-success-copy h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.2rem); letter-spacing: -.06em; line-height: .92; }
.contact-success-copy > p:not(.eyebrow) { color: rgb(255 255 255 / 65%); font-size: 1.06rem; line-height: 1.75; max-width: 650px; }
.contact-success-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 25px; margin-top: 30px; }
.contact-success-actions .button { background: #fffaf5; color: #712921; }
.contact-success-actions .button:hover, .contact-success-actions .button:focus-visible { background: #e9a486; color: #2a1714; }
.contact-success-actions .text-link { color: #fffaf5; font-weight: 800; }
.contact-success-actions .text-link:hover,
.contact-success-actions .text-link:focus-visible { color: #e9a486; outline: 0; }

.contact-success-note {
  bottom: 28px;
  color: rgb(255 255 255 / 47%);
  font-size: .68rem;
  left: clamp(38px, 8vw, 90px);
  margin: 0;
  position: absolute;
}

.contact-success-note span { color: #e9a486; margin-right: 6px; }

@media (max-width: 800px) {
  .contact-intro { grid-template-columns: 1fr; padding-bottom: 75px; }
  .contact-form-heading { align-items: start; flex-direction: column; gap: 12px; }
  .contact-success { grid-template-columns: 1fr; padding-bottom: 76px; }
  .contact-success-mark { max-width: 210px; }
}

@media (max-width: 600px) {
  .contact-intro, .contact-success { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 34px 24px 76px; }
  .contact-intro h1, .contact-success-copy h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .contact-name-grid { grid-template-columns: 1fr; }
  .contact-form-shell { padding: 28px 20px; }
  .contact-form-footer { align-items: start; grid-template-columns: 1fr; }
  .contact-submit { grid-column: 1; grid-row: auto; justify-self: stretch !important; margin-top: 14px; width: 100% !important; }
  .contact-alternatives { align-items: flex-start; flex-direction: column; }
  .contact-alternatives nav { align-items: flex-start; flex-direction: column; }
}

.support-page { display: grid; gap: clamp(50px, 8vw, 96px); }

.support-hero {
  align-items: center;
  background: radial-gradient(circle at 82% 18%, rgb(233 167 125 / 30%), transparent 27%), linear-gradient(135deg, #171514, #2b211e 72%, #171514);
  border-radius: 34px 9px 34px 9px;
  color: #fffaf5;
  display: grid;
  gap: clamp(35px, 8vw, 105px);
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  min-height: 620px;
  overflow: hidden;
  padding: clamp(38px, 7vw, 86px);
  position: relative;
}

.support-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 410px; position: absolute; right: -155px; top: -190px; width: 410px; }
.support-hero .eyebrow { color: #e9a486; }
.support-hero h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.5rem); letter-spacing: -.06em; line-height: .92; margin: 22px 0 30px; }
.support-hero h1 em { color: #e9a486; font-family: var(--font-serif); font-weight: 400; }
.support-hero-copy > p:last-child { color: rgb(255 250 245 / 68%); font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.7; max-width: 640px; }

.support-impact { align-self: center; border-top: 1px solid rgb(255 255 255 / 15%); position: relative; z-index: 1; }
.support-impact > div { border-bottom: 1px solid rgb(255 255 255 / 15%); display: grid; gap: 5px 16px; grid-template-columns: auto 1fr; padding: 22px 2px; }
.support-impact span { color: #e9a486; font-size: .62rem; font-weight: 850; grid-row: 1 / 3; letter-spacing: .1em; padding-top: 4px; }
.support-impact strong { font-size: 1rem; }
.support-impact small { color: rgb(255 255 255 / 52%); }
.support-hero-note { align-items: center; bottom: 28px; color: rgb(255 255 255 / 47%); display: flex; font-size: .68rem; gap: 10px; left: clamp(38px, 7vw, 86px); margin: 0; position: absolute; }
.support-hero-note i { background: #e9a486; border-radius: 50%; height: 6px; width: 6px; }

.support-layout { align-items: start; display: grid; gap: clamp(28px, 5vw, 58px); grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); }
.support-process { position: sticky; top: 105px; }
.support-process h2 { font-size: clamp(2rem, 3.7vw, 3.3rem); letter-spacing: -.045em; line-height: 1; margin: 13px 0 34px; }
.support-process ol { border-top: 1px solid var(--color-line); list-style: none; margin: 0; padding: 0; }
.support-process li { border-bottom: 1px solid var(--color-line); display: grid; gap: 14px; grid-template-columns: 28px 1fr; padding: 20px 2px; }
.support-process li > span { color: var(--color-accent); font-size: .66rem; font-weight: 850; padding-top: 3px; }
.support-process li strong { font-size: .9rem; }
.support-process li p { color: var(--color-muted); font-size: .77rem; line-height: 1.5; margin: 5px 0 0; }
.support-honesty-note { background: color-mix(in srgb, var(--color-soft-blue) 54%, var(--color-surface)); border: 1px solid var(--color-line); border-radius: 17px 5px 17px 5px; margin-top: 25px; padding: 20px; }
.support-honesty-note strong { color: var(--color-accent-dark); font-size: .8rem; }
.support-honesty-note p { color: var(--color-muted); font-size: .75rem; line-height: 1.55; margin: 7px 0 0; }

.support-form-card { background: radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--color-accent), transparent 90%), transparent 12rem), var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%); border-radius: 28px 8px 28px 8px; box-shadow: 0 24px 64px rgb(23 25 28 / 9%); padding: clamp(27px, 5vw, 58px); }
.support-form-card > header { border-bottom: 1px solid var(--color-line); margin-bottom: 30px; padding-bottom: 25px; }
.support-form-card > header h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); letter-spacing: -.055em; margin: 9px 0 12px; }
.support-form-card > header > p:last-child { color: var(--color-muted); font-size: .72rem; margin: 0; }
.support-form-card > header b, .support-form label b, .support-amount-fieldset legend b { color: var(--color-accent); }
.support-form-error { display: grid; gap: 4px; margin-bottom: 25px; }
.support-form { gap: 23px; margin: 0; }

.support-amount-fieldset { border: 0; margin: 0; padding: 0; }
.support-amount-fieldset legend { font-size: .78rem; font-weight: 820; margin-bottom: 13px; }
.support-amount-options { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); }
.support-amount-options label { cursor: pointer; }
.support-amount-options input { opacity: 0; position: absolute; }
.support-amount-options span { align-items: baseline; background: color-mix(in srgb, var(--color-paper) 45%, var(--color-surface)); border: 1px solid var(--color-line); border-radius: 14px 5px 14px 5px; display: flex; font-size: 1.25rem; font-weight: 850; justify-content: center; min-height: 65px; padding: 18px 8px; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease; }
.support-amount-options span small { font-size: .68rem; margin-left: 3px; }
.support-amount-options input:hover + span { border-color: var(--color-accent); transform: translateY(-2px); }
.support-amount-options input:focus-visible + span { box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 18%, transparent); outline: 0; }
.support-amount-options input:checked + span { background: var(--color-ink); border-color: var(--color-ink); box-shadow: 0 12px 24px rgb(23 25 28 / 12%); color: var(--color-paper); }
.support-custom-amount { margin-top: 15px; }
.support-custom-input { align-items: center; display: grid; grid-template-columns: 1fr auto; max-width: 230px; position: relative; }
.support-custom-input input { padding-right: 42px !important; width: 100%; }
.support-custom-input > b { color: var(--color-muted) !important; font-size: .9rem; position: absolute; right: 15px; }

.support-name-grid { display: grid; gap: 15px; grid-template-columns: 1fr 1fr; }
.support-form label { gap: 8px; }
.support-form label > span:first-child { font-size: .77rem; font-weight: 820; }
.support-form label > span small { color: var(--color-muted); font-size: .7rem; font-weight: 500; }
.support-form label > small { color: var(--color-muted); font-size: .7rem; font-weight: 500; }
.support-form.form-stack input[type="email"], .support-form.form-stack input[type="number"], .support-form.form-stack input[type="text"], .support-form.form-stack textarea { background: color-mix(in srgb, var(--color-paper) 45%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-ink) 7%); border-radius: 13px 5px 13px 5px; min-height: 53px; padding: 12px 14px; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 120ms ease; }
.support-form.form-stack textarea { min-height: 120px; }
.support-form.form-stack input:focus, .support-form.form-stack textarea:focus { background: var(--color-surface); border-color: var(--color-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 13%, transparent); outline: 0; transform: translateY(-1px); }
.support-consents { border-bottom: 1px solid var(--color-line); border-top: 1px solid var(--color-line); display: grid; gap: 18px; padding: 23px 0; }
.support-consents .checkbox-row { font-size: .78rem; font-weight: 500; grid-template-columns: 20px 1fr; line-height: 1.55; }
.support-form-footer { align-items: end; display: grid; gap: 20px; grid-template-columns: 1fr auto; }
.support-captcha-question { color: var(--color-muted); font-family: var(--font-serif); font-size: .95rem; font-weight: 400; }
.support-captcha input { max-width: 130px; }
.support-submit { min-height: 53px; }
.support-submit span { transition: transform 180ms ease; }
.support-submit:hover span, .support-submit:focus-visible span { transform: translateX(5px); }

.support-footer-note { align-items: center; border-bottom: 1px solid var(--color-line); border-top: 1px solid var(--color-line); display: grid; gap: 20px 35px; grid-template-columns: auto 1fr auto; padding: 25px 2px; }
.support-footer-note strong { font-family: var(--font-serif); font-style: italic; }
.support-footer-note p { color: var(--color-muted); font-size: .8rem; margin: 0; }
.support-footer-note a { color: var(--color-accent); font-size: .75rem; font-weight: 820; text-decoration: none; }

.support-thanks { align-items: center; background: radial-gradient(circle at 15% 18%, rgb(233 167 125 / 30%), transparent 27%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border: 1px solid rgb(255 255 255 / 10%); border-radius: 34px 9px 34px 9px; box-shadow: 0 32px 72px rgb(23 18 16 / 16%); color: #fffaf5; display: grid; gap: clamp(40px, 8vw, 100px); grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); min-height: 650px; padding: clamp(40px, 8vw, 90px); }
.support-thanks-mark { aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 5%), 0 24px 60px rgb(0 0 0 / 18%); justify-self: center; max-width: 275px; position: relative; width: 100%; }
.support-thanks-mark span { border-bottom: 11px solid #e9a486; border-right: 11px solid #e9a486; height: 40%; left: 49%; position: absolute; top: 43%; transform: translate(-50%, -50%) rotate(45deg); width: 22%; }
.support-thanks .eyebrow { color: #e9a486; }
.support-thanks h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.2rem); letter-spacing: -.06em; line-height: .92; }
.support-thanks-copy > p:not(.eyebrow) { color: rgb(255 255 255 / 68%); line-height: 1.7; }
.support-thanks-warning { border-bottom: 1px solid rgb(255 255 255 / 16%); border-top: 1px solid rgb(255 255 255 / 16%); margin-top: 28px; padding: 22px 0; }
.support-thanks-warning strong { color: #e9a486; }
.support-thanks-warning p { color: rgb(255 255 255 / 56%); font-size: .82rem; line-height: 1.6; margin: 7px 0 0; }
.support-thanks-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.support-thanks-actions .button { background: #fffaf5; color: #712921; }
.support-thanks-actions .text-link { color: #fffaf5; font-weight: 800; }
.support-thanks-actions .button:hover,
.support-thanks-actions .button:focus-visible { background: #e9a486; color: #2a1714; }
.support-thanks-actions .text-link:hover,
.support-thanks-actions .text-link:focus-visible { color: #e9a486; outline: 0; }

@media (max-width: 860px) {
  .support-hero, .support-layout, .support-thanks { grid-template-columns: 1fr; }
  .support-hero { padding-bottom: 75px; }
  .support-process { position: static; }
  .support-thanks-mark { max-width: 210px; }
}

@media (max-width: 600px) {
  .support-hero, .support-thanks { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 34px 24px 76px; }
  .support-hero h1, .support-thanks h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .support-form-card { padding: 28px 20px; }
  .support-amount-options { grid-template-columns: repeat(2, 1fr); }
  .support-name-grid, .support-form-footer { grid-template-columns: 1fr; }
  .support-submit { justify-self: stretch !important; width: 100% !important; }
  .support-footer-note { align-items: start; grid-template-columns: 1fr; }
}

.newsletter-page { display: grid; gap: clamp(52px, 8vw, 96px); }
.newsletter-hero { align-items: center; background: radial-gradient(circle at 82% 18%, rgb(233 167 125 / 30%), transparent 27%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border-radius: 34px 9px 34px 9px; color: #fffaf5; display: grid; gap: clamp(38px, 8vw, 105px); grid-template-columns: minmax(0, 1.2fr) minmax(270px, .8fr); min-height: 660px; overflow: hidden; padding: clamp(38px, 7vw, 86px); position: relative; }
.newsletter-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 410px; position: absolute; right: -155px; top: -190px; width: 410px; }
.newsletter-hero .eyebrow { color: #e9a486; }
.newsletter-hero h1 { color: inherit; font-size: clamp(3.1rem, 7.5vw, 7rem); letter-spacing: -.06em; line-height: .9; margin: 22px 0 30px; }
.newsletter-hero h1 em { color: #e9a486; font-family: var(--font-serif); font-weight: 400; }
.newsletter-hero-copy > p:not(.eyebrow) { color: rgb(255 250 245 / 68%); font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.7; max-width: 620px; }
.newsletter-hero-copy ul { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; margin: 34px 0 0; padding: 0; }
.newsletter-hero-copy li { color: rgb(255 255 255 / 62%); font-size: .7rem; }
.newsletter-hero-copy li span { color: #e9a486; font-weight: 850; margin-right: 6px; }
.newsletter-letter-preview { aspect-ratio: 4 / 5; background: #f8eee6; border-radius: 7px 24px 7px 24px; box-shadow: 20px 30px 70px rgb(0 0 0 / 30%); color: #2a211e; justify-self: center; max-width: 310px; padding: 35px 30px; position: relative; transform: rotate(3deg); width: 100%; z-index: 1; }
.newsletter-preview-brand { color: #96362e; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.newsletter-letter-preview > i { background: #c8a187; display: block; height: 1px; margin: 24px 0 50px; width: 100%; }
.newsletter-letter-preview strong { font-family: var(--font-serif); font-size: clamp(1.7rem, 3.5vw, 2.6rem); font-weight: 400; line-height: 1.1; }
.newsletter-letter-preview p { bottom: 30px; color: #8a7467; font-size: .6rem; letter-spacing: .1em; position: absolute; text-transform: uppercase; }
.newsletter-letter-preview > b { bottom: 28px; color: #96362e; font-size: 1.2rem; position: absolute; right: 30px; }
.newsletter-hero-note { align-items: center; bottom: 28px; color: rgb(255 255 255 / 47%); display: flex; font-size: .68rem; gap: 10px; left: clamp(38px, 7vw, 86px); margin: 0; position: absolute; }
.newsletter-hero-note i { background: #e9a486; border-radius: 50%; height: 6px; width: 6px; }

.newsletter-form-layout { align-items: start; display: grid; gap: clamp(30px, 6vw, 70px); grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); }
.newsletter-promise { position: sticky; top: 105px; }
.newsletter-promise h2 { font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.05em; line-height: 1; margin: 14px 0 24px; }
.newsletter-promise > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.75; }
.newsletter-promise > div { border-top: 1px solid var(--color-line); display: grid; gap: 5px 12px; grid-template-columns: 22px 1fr; padding: 19px 0; }
.newsletter-promise > div span { color: var(--color-accent); grid-row: 1 / 3; }
.newsletter-promise > div strong { font-size: .85rem; }
.newsletter-promise > div small { color: var(--color-muted); line-height: 1.5; }
.newsletter-form-card { background: radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--color-accent), transparent 90%), transparent 12rem), var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%); border-radius: 28px 8px 28px 8px; box-shadow: 0 24px 64px rgb(23 25 28 / 9%); padding: clamp(28px, 5vw, 58px); }
.newsletter-form-card > header { border-bottom: 1px solid var(--color-line); margin-bottom: 30px; padding-bottom: 25px; }
.newsletter-form-card > header h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); letter-spacing: -.055em; margin: 9px 0 12px; }
.newsletter-form-card > header > p:last-child { color: var(--color-muted); font-size: .72rem; margin: 0; }
.newsletter-form-card b, .newsletter-form label b { color: var(--color-accent); }
.newsletter-error { display: grid; gap: 4px; margin-bottom: 25px; }
.newsletter-form { gap: 23px; margin: 0; }
.newsletter-form label { gap: 8px; }
.newsletter-form label > span:first-child { font-size: .78rem; font-weight: 820; }
.newsletter-form label > span small { color: var(--color-muted); font-size: .7rem; font-weight: 500; }
.newsletter-form.form-stack input[type="email"], .newsletter-form.form-stack input[type="number"], .newsletter-form.form-stack input[type="text"] { background: color-mix(in srgb, var(--color-paper) 45%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-ink) 7%); border-radius: 13px 5px 13px 5px; min-height: 53px; padding: 12px 14px; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 120ms ease; }
.newsletter-form.form-stack input:focus { background: var(--color-surface); border-color: var(--color-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 13%, transparent); outline: 0; transform: translateY(-1px); }
.newsletter-theme-fieldset { border: 0; margin: 0; padding: 0; }
.newsletter-theme-fieldset legend { font-size: .78rem; font-weight: 820; }
.newsletter-theme-fieldset > p { color: var(--color-muted); font-size: .7rem; margin: 7px 0 12px; }
.newsletter-theme-options { display: grid; gap: 9px; grid-template-columns: repeat(3, 1fr); }
.newsletter-theme-options label { cursor: pointer; }
.newsletter-theme-options input { opacity: 0; position: absolute; }
.newsletter-theme-options span { align-items: center; background: color-mix(in srgb, var(--color-paper) 45%, var(--color-surface)); border: 1px solid var(--color-line); border-radius: 12px 4px 12px 4px; display: flex; font-size: .78rem; font-weight: 800; justify-content: center; min-height: 50px; transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 120ms ease; }
.newsletter-theme-options input:hover + span { border-color: var(--color-accent); transform: translateY(-1px); }
.newsletter-theme-options input:focus-visible + span { box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 18%, transparent); }
.newsletter-theme-options input:checked + span { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-paper); }
.newsletter-consents { border-bottom: 1px solid var(--color-line); border-top: 1px solid var(--color-line); display: grid; gap: 18px; padding: 23px 0; }
.newsletter-consents .checkbox-row { font-size: .78rem; font-weight: 500; grid-template-columns: 20px 1fr; line-height: 1.55; }
.newsletter-consents small { color: var(--color-muted); display: inline; font-size: .68rem; font-weight: 500; }
.newsletter-form-footer { align-items: end; display: grid; gap: 20px; grid-template-columns: 1fr auto; }
.newsletter-captcha-question { color: var(--color-muted); font-family: var(--font-serif); font-size: .95rem; font-weight: 400; }
.newsletter-captcha input { max-width: 130px; }
.newsletter-submit { min-height: 53px; }

.email-result, .unsubscribe-page { align-items: center; background: radial-gradient(circle at 15% 18%, rgb(233 167 125 / 30%), transparent 27%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border: 1px solid rgb(255 255 255 / 10%); border-radius: 34px 9px 34px 9px; box-shadow: 0 32px 72px rgb(23 18 16 / 16%); color: #fffaf5; display: grid; gap: clamp(40px, 8vw, 100px); grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); min-height: 640px; padding: clamp(40px, 8vw, 90px); }
.email-result-icon, .unsubscribe-symbol { align-items: center; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 5%), 0 24px 60px rgb(0 0 0 / 18%); display: flex; justify-content: center; justify-self: center; max-width: 275px; position: relative; width: 100%; }
.email-result-icon span, .unsubscribe-symbol > span { color: #e9a486; font-size: clamp(3.5rem, 8vw, 7rem); }
.email-result-invalid .email-result-icon span { font-family: var(--font-serif); }
.email-result-copy .eyebrow, .unsubscribe-copy .eyebrow { color: #e9a486; }
.email-result-copy h1, .unsubscribe-copy h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.2rem); letter-spacing: -.06em; line-height: .92; }
.email-result-copy > p:not(.eyebrow), .unsubscribe-copy > p:not(.eyebrow) { color: rgb(255 255 255 / 66%); line-height: 1.75; max-width: 670px; }
.email-result-help, .email-status-detail, .email-local-tools { border-bottom: 1px solid rgb(255 255 255 / 16%); border-top: 1px solid rgb(255 255 255 / 16%); margin-top: 26px; padding: 20px 0; }
.email-result-help strong { color: #e9a486; }
.email-result-help p { color: rgb(255 255 255 / 54%); font-size: .8rem; line-height: 1.6; margin: 6px 0 0; }
.email-local-tools { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.email-local-tools .eyebrow { flex: 0 0 100%; margin: 0; }
.email-local-tools a { color: #fffaf5; font-size: .76rem; font-weight: 800; }
.email-result-copy > .text-link { color: #fffaf5; display: inline-block; font-weight: 800; margin-top: 28px; }
.email-result-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.email-result-actions .button { background: #fffaf5; color: #712921; }
.email-result-actions .text-link { color: #fffaf5; font-weight: 800; }
.email-result-actions .button:hover,
.email-result-actions .button:focus-visible { background: #e9a486; color: #2a1714; }
.email-result-actions .text-link:hover,
.email-result-actions .text-link:focus-visible,
.email-result-copy > .text-link:hover,
.email-result-copy > .text-link:focus-visible { color: #e9a486; outline: 0; }
.unsubscribe-symbol i { align-items: center; background: #a83930; border-radius: 50%; bottom: 9%; color: #fff; display: flex; font-size: 1.5rem; font-style: normal; height: 52px; justify-content: center; position: absolute; right: 7%; width: 52px; }
.unsubscribe-copy form { margin: 30px 0 24px; }
.unsubscribe-confirm { background: #fffaf5; color: #712921; }
.unsubscribe-copy > .text-link { color: #fffaf5; font-weight: 800; }

@media (max-width: 860px) {
  .newsletter-hero, .newsletter-form-layout, .email-result, .unsubscribe-page { grid-template-columns: 1fr; }
  .newsletter-hero { padding-bottom: 76px; }
  .newsletter-letter-preview { max-width: 250px; }
  .newsletter-promise { position: static; }
  .email-result-icon, .unsubscribe-symbol { max-width: 205px; }
}

@media (max-width: 600px) {
  .newsletter-hero, .email-result, .unsubscribe-page { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 34px 24px 76px; }
  .newsletter-hero h1, .email-result-copy h1, .unsubscribe-copy h1 { font-size: clamp(2.9rem, 14vw, 4.6rem); }
  .newsletter-form-card { padding: 28px 20px; }
  .newsletter-form-footer { grid-template-columns: 1fr; }
  .newsletter-submit { justify-self: stretch !important; width: 100% !important; }
}

.daily-meditation { display: grid; gap: clamp(46px, 8vw, 92px); }
.meditation-hero {
  background:
    radial-gradient(circle at 82% 18%, rgb(201 111 95 / 22%), transparent 16rem),
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface), #fff 5%), color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 28%));
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 80%);
  border-radius: 28px 8px 32px 8px;
  box-shadow: 0 26px 70px rgb(23 48 64 / 12%);
  display: grid;
  gap: clamp(16px, 2.8vw, 32px);
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  min-height: 0;
  overflow: hidden;
  padding: clamp(16px, 2.6vw, 24px);
  position: relative;
}
.meditation-hero::after {
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 84%);
  border-radius: 999px;
  content: "";
  height: 280px;
  position: absolute;
  right: -120px;
  top: -150px;
  width: 280px;
}
.meditation-hero-image {
  align-self: stretch;
  border-radius: 22px 6px 24px 6px;
  box-shadow: 18px 0 42px rgb(23 48 64 / 10%);
  min-height: 500px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.meditation-hero-image::after {
  background:
    linear-gradient(180deg, rgb(12 18 24 / 6%), rgb(12 18 24 / 46%)),
    radial-gradient(circle at 20% 18%, rgb(255 255 255 / 18%), transparent 12rem);
  content: "";
  inset: 0;
  position: absolute;
}
.meditation-hero-image img { height: 100%; object-fit: cover; transition: transform .9s ease, filter .9s ease; width: 100%; }
.meditation-hero-image:hover img { filter: saturate(1.08) contrast(1.03); transform: scale(1.035); }
.meditation-hero-image > span {
  bottom: 24px;
  color: rgb(255 255 255 / 88%);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4.3vw, 4rem);
  font-style: italic;
  font-weight: 420;
  left: 24px;
  letter-spacing: -.045em;
  line-height: .92;
  max-width: 260px;
  position: absolute;
  text-shadow: 0 14px 34px rgb(0 0 0 / 42%);
  z-index: 1;
}
.meditation-hero-copy {
  align-self: center;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--color-surface), transparent 2%), color-mix(in srgb, var(--color-surface), transparent 24%));
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 34%);
  border-left: 0;
  border-radius: 0 18px 22px 0;
  max-width: 840px;
  margin-left: clamp(-18px, -1.4vw, -10px);
  padding: clamp(28px, 5vw, 58px) clamp(18px, 4.5vw, 50px) clamp(28px, 5vw, 58px) clamp(28px, 5vw, 58px);
  position: relative;
  z-index: 1;
}
.meditation-date {
  color: color-mix(in srgb, var(--color-accent-dark), var(--color-ink) 12%);
  display: flex;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .13em;
  margin: 12px 0 0;
  text-transform: uppercase;
}
.meditation-hero h1 { color: var(--color-ink); font-size: clamp(2.25rem, 4.8vw, 4.6rem); letter-spacing: -.06em; line-height: .94; margin: 20px 0; }
.meditation-hero h1.meditation-title-long {
  background: color-mix(in srgb, var(--color-surface), transparent 2%);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 10%);
  border-left: 4px solid var(--color-accent);
  border-radius: 18px 6px 20px 6px;
  box-shadow: 0 18px 38px rgb(23 48 64 / 9%);
  font-family: var(--font-sans);
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 760;
  letter-spacing: -.04em;
  line-height: 1.2;
  max-width: 760px;
  padding: clamp(18px, 3vw, 28px);
}
.meditation-reference {
  align-items: center;
  color: var(--color-accent-dark);
  display: inline-flex;
  font-size: .86rem;
  font-weight: 860;
  gap: 8px;
  letter-spacing: .08em;
  margin: 0 20px 8px 0;
  text-transform: uppercase;
  vertical-align: middle;
}
.meditation-reference::before {
  background: currentColor;
  border-radius: 999px;
  content: "";
  height: 6px;
  width: 6px;
}
.meditation-hero blockquote {
  background: transparent;
  border: 0;
  color: var(--color-muted);
  font-family: var(--font-sans);
  font-size: clamp(.98rem, 1.18vw, 1.08rem);
  font-style: normal;
  line-height: 1.75;
  margin: 18px 0 0;
  max-width: 620px;
  padding: 0;
}
.meditation-start-link {
  align-items: center;
  background: var(--color-ink);
  border: 1px solid var(--color-ink);
  border-radius: 999px;
  box-shadow: 0 12px 26px rgb(23 25 28 / 13%);
  color: var(--color-paper);
  display: inline-flex;
  font-size: .76rem;
  font-weight: 850;
  gap: 9px;
  margin-top: 42px;
  padding: 11px 14px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  width: fit-content;
}
.meditation-reference + .meditation-start-link { margin-top: 0; vertical-align: middle; }
.meditation-start-link span { color: color-mix(in srgb, currentColor, transparent 18%); }
.meditation-start-link:hover, .meditation-start-link:focus-visible { background: var(--color-accent-dark); border-color: var(--color-accent-dark); color: #fff; outline: 0; transform: translateY(-2px); }

.meditation-reading-layout {
  align-items: start;
  display: grid;
  gap: clamp(18px, 2.6vw, 30px);
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  margin-inline: clamp(0px, 2vw, 24px);
  scroll-margin-top: 110px;
}
.meditation-reading-aside {
  background: color-mix(in srgb, var(--color-surface), transparent 2%);
  border: 1px solid var(--color-line);
  border-radius: 18px 6px 20px 6px;
  box-shadow: 0 16px 34px rgb(23 48 64 / 7%);
  padding: 22px;
  position: sticky;
  top: 105px;
}
.meditation-reading-aside dl { border-top: 1px solid var(--color-line); margin: 22px 0 20px; }
.meditation-reading-aside dl > div { border-bottom: 1px solid var(--color-line); display: grid; gap: 12px; grid-template-columns: 1fr auto; padding: 13px 0; }
.meditation-reading-aside dt { color: var(--color-muted); font-size: .7rem; text-transform: uppercase; }
.meditation-reading-aside dd { font-size: .75rem; font-weight: 800; margin: 0; text-align: right; }
.meditation-reading-aside > a { color: var(--color-accent); font-size: .75rem; font-weight: 820; text-decoration: none; }
.meditation-reading {
  padding: clamp(8px, 2vw, 18px) 0 0;
  min-width: 0;
}
.meditation-reading > header {
  align-items: start;
  border-bottom: 1px solid color-mix(in srgb, var(--color-line), transparent 20%);
  display: grid;
  gap: 18px;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 0 34px;
  max-width: 700px;
  padding-bottom: 24px;
}
.meditation-reading > header span {
  align-items: center;
  background: color-mix(in srgb, var(--color-accent), transparent 88%);
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 62%);
  border-radius: 999px;
  color: var(--color-accent-dark);
  display: inline-flex;
  font-size: .62rem;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  width: 34px;
}
.meditation-reading > header p {
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 48%);
  font-family: var(--font-sans);
  font-size: clamp(1.08rem, 1.5vw, 1.24rem);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.55;
  margin: 0;
  max-width: 620px;
}
.meditation-body { font-family: var(--font-sans); font-size: clamp(1.08rem, 1.24vw, 1.2rem); line-height: 1.9; }
.article-layout .meditation-body > p,
.article-layout .meditation-body > ul,
.article-layout .meditation-body > ol {
  margin-left: clamp(6px, 2.2vw, 28px);
}
.meditation-body p { margin: 0 0 1.45em; }
.meditation-body p:first-child::first-letter {
  color: inherit;
  float: none;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

.meditation-after-reading { background: color-mix(in srgb, var(--color-soft-blue) 52%, var(--color-surface)); border: 1px solid var(--color-line); border-radius: 28px 8px 28px 8px; display: grid; gap: clamp(35px, 7vw, 85px); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); padding: clamp(30px, 6vw, 66px); }
.meditation-after-reading h2 { font-size: clamp(2rem, 4.3vw, 3.8rem); letter-spacing: -.05em; line-height: 1; margin: 13px 0 0; }
.meditation-reflection-cards { display: grid; gap: 1px; }
.meditation-reflection-cards article { border-bottom: 1px solid var(--color-line); display: grid; gap: 6px 18px; grid-template-columns: auto 1fr; padding: 20px 0; }
.meditation-reflection-cards article:first-child { border-top: 1px solid var(--color-line); }
.meditation-reflection-cards span { color: var(--color-accent); font-size: .62rem; font-weight: 850; grid-row: 1 / 3; padding-top: 3px; }
.meditation-reflection-cards strong { font-size: .9rem; }
.meditation-reflection-cards p { color: var(--color-muted); font-size: .78rem; line-height: 1.55; margin: 0; }
.meditation-next-step { align-items: center; border-bottom: 1px solid var(--color-line); border-top: 1px solid var(--color-line); display: flex; gap: 30px; justify-content: space-between; padding: 30px 2px; }
.meditation-next-step > p {
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 3vw, 2.45rem);
  font-style: italic;
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: 0;
}
.meditation-next-step nav { display: flex; flex-wrap: wrap; gap: clamp(18px, 4vw, 38px); }
.meditation-next-step a { color: var(--color-ink); font-size: .78rem; font-weight: 840; letter-spacing: .02em; text-decoration: none; text-transform: uppercase; }
.meditation-next-step a span { color: var(--color-accent); margin-left: 5px; }
.meditation-next-step a:hover, .meditation-next-step a:focus-visible { color: var(--color-accent); outline: 0; }

.meditation-empty { align-items: center; background: radial-gradient(circle at 18% 20%, rgb(233 167 125 / 28%), transparent 25%), linear-gradient(135deg, #171514, #2b211e); border-radius: 34px 9px 34px 9px; color: #fffaf5; display: grid; gap: clamp(40px, 8vw, 100px); grid-template-columns: minmax(200px, .6fr) 1.4fr; min-height: 600px; padding: clamp(40px, 8vw, 90px); }
.meditation-empty > span { color: #e9a486; font-size: 12rem; font-weight: 100; justify-self: center; line-height: 1; }
.meditation-empty h1 { color: inherit; font-size: clamp(3rem, 7vw, 6rem); letter-spacing: -.06em; line-height: .94; }
.meditation-empty > div > p:not(.eyebrow) { color: rgb(255 255 255 / 65%); }
.meditation-empty > div > div { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.meditation-empty .button { background: #fffaf5; color: #712921; }
.meditation-empty .text-link { color: #fffaf5; font-weight: 800; }

@media (prefers-reduced-motion: reduce) { .meditation-hero-image img { transition: none; } }

@media (max-width: 860px) {
  .meditation-hero, .meditation-reading-layout, .meditation-after-reading, .meditation-empty { grid-template-columns: 1fr; }
  .meditation-hero-image { min-height: 430px; }
  .meditation-reading-aside { position: static; }
}

@media (max-width: 600px) {
  .meditation-hero, .meditation-empty { border-radius: 24px 7px 24px 7px; }
  .meditation-hero-image { min-height: 350px; }
  .meditation-hero-copy { padding: 32px 24px 38px; }
  .meditation-hero h1 { font-size: clamp(2.5rem, 13vw, 4rem); }
  .meditation-after-reading { padding: 30px 24px; }
  .meditation-next-step { align-items: flex-start; flex-direction: column; }
  .meditation-next-step nav { align-items: flex-start; flex-direction: column; }
  .meditation-empty { min-height: 0; padding: 34px 24px; }
  .meditation-empty > span { font-size: 8rem; }
}

.home-page { display: grid; gap: clamp(62px, 10vw, 126px); margin-left: 50%; transform: translateX(-50%); width: min(calc(100vw - 40px), 1360px); }
.home-masthead { align-items: center; background: radial-gradient(circle at 82% 16%, rgb(232 161 126 / 28%), transparent 26%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border: 1px solid rgb(255 255 255 / 10%); border-radius: 36px 9px 36px 9px; box-shadow: 0 34px 80px rgb(23 18 16 / 16%); color: #fffaf5; display: grid; gap: clamp(40px, 8vw, 100px); grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); min-height: clamp(650px, 75vw, 820px); overflow: hidden; padding: clamp(40px, 7vw, 88px); position: relative; }
.home-masthead::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 450px; position: absolute; right: -170px; top: -205px; width: 450px; }
.home-masthead .eyebrow { color: #e9a486; }
.home-masthead h1 { color: inherit; font-size: clamp(3.4rem, 8.8vw, 8.2rem); letter-spacing: -.068em; line-height: .84; margin: 25px 0 36px; }
.home-masthead h1 em { color: #e9a486; display: block; font-family: var(--font-serif); font-weight: 400; }
.home-masthead-copy > p:not(.eyebrow) { color: rgb(255 250 245 / 88%); font-size: clamp(1rem, 1.7vw, 1.2rem); font-weight: 520; line-height: 1.75; max-width: 670px; }
.home-masthead-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 26px; margin-top: 30px; }
.home-masthead-actions .button { background: #fffaf5; box-shadow: 0 16px 34px rgb(255 250 245 / 10%); color: #712921; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; }
.home-masthead-actions .button:hover, .home-masthead-actions .button:focus-visible { background: #e9a486; color: #281713; transform: translateY(-2px); }
.home-masthead-actions .button:active { background: #c96f5f; color: #fffaf5; transform: translateY(1px) scale(.98); }
.home-masthead-text-link { color: #fffaf5; font-size: .78rem; font-weight: 820; text-decoration: none; transition: color 160ms ease; }
.home-masthead-text-link:hover, .home-masthead-text-link:focus-visible { color: #e9a486; outline: 0; }
.home-masthead-text-link:active { color: #f2b696; transform: translateY(1px); }
.home-masthead-text-link span { color: #e9a486; display: inline-block; margin-left: 6px; transition: transform 160ms ease; }
.home-masthead-text-link:hover span, .home-masthead-text-link:focus-visible span { transform: translate(2px, -2px); }
.home-masthead-text-link:active span { transform: translate(1px, 0); }
.home-daily-card { backdrop-filter: blur(14px); background: rgb(255 255 255 / 7%); border: 1px solid rgb(255 255 255 / 16%); border-radius: 24px 7px 24px 7px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%), 0 24px 56px rgb(0 0 0 / 14%); padding: clamp(27px, 4vw, 42px); position: relative; transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease; z-index: 1; }
.home-daily-card:hover, .home-daily-card:focus-within { background: rgb(255 255 255 / 10%); border-color: rgb(255 255 255 / 28%); transform: translateY(-3px); }
.home-daily-topline { align-items: start; display: flex; justify-content: space-between; }
.home-daily-topline > span { color: rgb(255 255 255 / 13%); font-size: clamp(3.5rem, 7vw, 6rem); font-weight: 900; letter-spacing: -.08em; line-height: .75; }
.home-daily-card h2 { color: #fffaf5; font-size: clamp(1.8rem, 3.5vw, 2.8rem); letter-spacing: -.045em; margin: 28px 0 16px; }
.home-daily-reference { color: #e9a486; font-size: .86rem; font-weight: 850; text-transform: uppercase; }
.home-daily-card blockquote { border: 0; color: rgb(255 255 255 / 64%); display: -webkit-box; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.65; margin: 22px 0; overflow: hidden; padding: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.home-daily-card > a { color: #fffaf5; font-size: .75rem; font-weight: 850; text-decoration: none; transition: color 160ms ease; }
.home-daily-card > a:hover, .home-daily-card > a:focus-visible { color: #e9a486; outline: 0; }
.home-daily-card > a span { color: #e9a486; display: inline-block; margin-left: 6px; transition: transform 160ms ease; }
.home-daily-card > a:hover span, .home-daily-card > a:focus-visible span { transform: translateX(5px); }
.home-masthead-signature { bottom: 28px; color: rgb(255 255 255 / 40%); font-family: var(--font-serif); font-size: .7rem; font-style: italic; left: clamp(40px, 7vw, 88px); margin: 0; position: absolute; }

.home-video-feature { background: radial-gradient(circle at 8% 100%, rgb(161 54 46 / 28%), transparent 34%), linear-gradient(145deg, #121315, #1c1918 64%, #271b18); border: 1px solid rgb(255 255 255 / 9%); border-radius: 9px 34px 9px 34px; box-shadow: 0 32px 80px rgb(20 18 17 / 18%); color: #fffaf5; overflow: hidden; padding: clamp(28px, 5vw, 66px); position: relative; }
.home-video-feature::before { border: 1px solid rgb(233 164 134 / 14%); border-radius: 50%; content: ""; height: 420px; pointer-events: none; position: absolute; right: -220px; top: -250px; width: 420px; }
.home-video-heading { align-items: flex-start; border-bottom: 1px solid rgb(255 255 255 / 13%); display: flex; justify-content: space-between; margin-bottom: clamp(28px, 4vw, 52px); padding-bottom: 20px; position: relative; z-index: 1; }
.home-video-heading .eyebrow { color: #e9a486; margin: 0 0 7px; }
.home-video-edition { color: rgb(255 250 245 / 48%); font-family: var(--font-serif); font-size: .78rem; font-style: italic; margin: 0; }
.home-video-edition span { color: #e9a486; margin-inline: 5px; }
.home-video-badges { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.home-video-badges span { border: 1px solid rgb(255 255 255 / 18%); border-radius: 999px; color: rgb(255 250 245 / 72%); font-size: .61rem; font-weight: 850; letter-spacing: .08em; padding: 8px 11px; text-transform: uppercase; }
.home-video-badges span:first-child { background: #a63830; border-color: #bd4d42; color: #fff; }
.home-video-layout { align-items: center; display: grid; gap: clamp(34px, 6vw, 82px); grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); position: relative; z-index: 1; }
.home-video-media { aspect-ratio: 16 / 9; background: #08090a; border-radius: 24px 7px 24px 7px; box-shadow: 0 28px 65px rgb(0 0 0 / 38%); min-width: 0; overflow: hidden; position: relative; }
.home-video-media::after { border: 1px solid rgb(255 255 255 / 18%); border-radius: inherit; content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 2; }
.home-video-media video { display: block; height: 100%; object-fit: cover; width: 100%; }
.home-video-media video::cue { background: rgb(0 0 0 / 76%); color: #fff; font-family: var(--font-sans); font-size: 125%; font-weight: 760; line-height: 1.35; text-shadow: 0 2px 5px rgb(0 0 0 / 92%); }
.home-video-play { align-items: center; background: linear-gradient(to top, rgb(6 7 8 / 78%), rgb(6 7 8 / 8%) 58%); border: 0; color: #fff; cursor: pointer; display: grid; grid-template-columns: auto 1fr; inset: 0; padding: clamp(20px, 4vw, 42px); position: absolute; text-align: left; transition: opacity 220ms ease, visibility 220ms ease; z-index: 3; }
.home-video-play > span { align-items: center; align-self: end; background: #fffaf5; border-radius: 50%; box-shadow: 0 10px 28px rgb(0 0 0 / 28%); color: #8d2d27; display: flex; grid-row: 1 / 3; height: clamp(54px, 7vw, 72px); justify-content: center; margin-right: 17px; padding-left: 4px; transition: background-color 160ms ease, transform 160ms ease; width: clamp(54px, 7vw, 72px); }
.home-video-play strong { align-self: end; font-size: clamp(.82rem, 1.4vw, 1rem); letter-spacing: .025em; }
.home-video-play small { color: rgb(255 255 255 / 67%); font-size: .65rem; margin-top: 3px; }
.home-video-play:hover > span, .home-video-play:focus-visible > span { background: #e9a486; transform: scale(1.06); }
.home-video-play:focus-visible { outline: 3px solid #e9a486; outline-offset: -5px; }
.home-video-media.is-playing .home-video-play, .home-video-media.has-started .home-video-play { opacity: 0; pointer-events: none; visibility: hidden; }
.home-video-copy { min-width: 0; }
.home-video-speaker { color: #e9a486; font-size: .7rem; font-weight: 850; letter-spacing: .12em; margin: 0 0 18px; text-transform: uppercase; }
.home-video-copy h2 { color: #fffaf5; font-size: clamp(2.8rem, 5.6vw, 5.6rem); letter-spacing: -.06em; line-height: .88; margin: 0 0 26px; }
.home-video-copy h2 em { color: #e9a486; font-family: var(--font-serif); font-weight: 400; }
.home-video-copy > p:not(.home-video-speaker) { color: rgb(255 250 245 / 68%); line-height: 1.72; margin: 0; max-width: 580px; }
.home-video-copy blockquote { border-left: 2px solid #a63830; color: #fffaf5; font-family: var(--font-serif); font-size: clamp(1rem, 1.8vw, 1.28rem); font-style: italic; line-height: 1.5; margin: 27px 0; padding: 2px 0 2px 20px; }
.home-video-chapters { border-top: 1px solid rgb(255 255 255 / 13%); display: grid; }
.home-video-chapters button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid rgb(255 255 255 / 10%); color: rgb(255 250 245 / 76%); cursor: pointer; display: flex; font: inherit; font-size: .72rem; font-weight: 760; gap: 14px; min-height: 46px; padding: 0; text-align: left; transition: color 160ms ease, padding-left 160ms ease; }
.home-video-chapters button::after { color: #e9a486; content: "▶"; font-size: .54rem; margin-left: auto; }
.home-video-chapters button span { color: #e9a486; font-size: .61rem; font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.home-video-chapters button:hover, .home-video-chapters button:focus-visible { color: #fff; outline: 0; padding-left: 5px; }
.home-video-transcript { border-top: 1px solid rgb(255 255 255 / 13%); margin-top: clamp(30px, 5vw, 58px); position: relative; z-index: 1; }
.home-video-transcript summary { align-items: center; color: #fffaf5; cursor: pointer; display: grid; font-size: .72rem; font-weight: 850; grid-template-columns: 1fr auto auto; list-style: none; min-height: 64px; text-transform: uppercase; }
.home-video-transcript summary::-webkit-details-marker { display: none; }
.home-video-transcript summary small { color: rgb(255 250 245 / 44%); font-size: .58rem; letter-spacing: .08em; margin-right: 18px; }
.home-video-transcript summary b { border-bottom: 1px solid #e9a486; border-right: 1px solid #e9a486; display: block; height: 8px; transform: rotate(45deg) translateY(-3px); transition: transform 180ms ease; width: 8px; }
.home-video-transcript[open] summary b { transform: rotate(225deg) translate(-2px, -1px); }
.home-video-transcript-grid { border-top: 1px solid rgb(255 255 255 / 10%); display: grid; gap: clamp(32px, 6vw, 80px); grid-template-columns: repeat(2, minmax(0, 1fr)); padding: clamp(34px, 5vw, 60px) 0 8px; }
.home-video-transcript article + article { border-left: 1px solid rgb(255 255 255 / 12%); padding-left: clamp(32px, 6vw, 80px); }
.home-video-transcript .eyebrow { color: #e9a486; }
.home-video-transcript h3 { color: #fffaf5; font-family: var(--font-serif); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 400; margin: 11px 0 25px; }
.home-video-transcript article > p:not(.eyebrow) { color: rgb(255 250 245 / 64%); font-size: .86rem; line-height: 1.78; }

.home-video-portrait { aspect-ratio: 16 / 10; background: #08090a; border-radius: 24px 7px 24px 7px; box-shadow: 0 28px 65px rgb(0 0 0 / 38%); margin: 0; overflow: hidden; position: relative; }
.home-video-portrait::after { background: linear-gradient(to top, rgb(6 7 8 / 68%), transparent 42%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.home-video-portrait img { filter: saturate(.92) contrast(1.04); height: 100%; object-fit: cover; object-position: center 40%; transition: filter 400ms ease, transform 700ms cubic-bezier(.2,.8,.2,1); width: 100%; }
.home-video-portrait:hover img { filter: saturate(1) contrast(1.05); transform: scale(1.025); }
.home-video-portrait figcaption { bottom: clamp(18px, 3vw, 30px); color: rgb(255 250 245 / 72%); font-size: .69rem; left: clamp(18px, 3vw, 30px); position: absolute; z-index: 1; }
.home-video-portrait figcaption span { color: #e9a486; font-size: .59rem; font-weight: 850; letter-spacing: .1em; margin-right: 8px; text-transform: uppercase; }
.home-video-transcript-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.home-video-transcript-actions button { align-items: center; background: #fffaf5; border: 1px solid #fffaf5; border-radius: 999px; color: #762a24; cursor: pointer; display: inline-flex; font: inherit; font-size: .7rem; font-weight: 850; gap: 14px; min-height: 46px; padding: 0 18px; text-transform: uppercase; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; }
.home-video-transcript-actions button + button { background: transparent; border-color: rgb(255 255 255 / 25%); color: #fffaf5; }
.home-video-transcript-actions button:hover, .home-video-transcript-actions button:focus-visible { background: #e9a486; border-color: #e9a486; color: #281713; outline: 0; transform: translateY(-2px); }
.home-video-transcript-actions button span[aria-hidden] { color: #b74b40; font-size: 1rem; }
.home-video-transcript-grid { display: block; padding-inline: clamp(0px, 6vw, 88px); }
.home-video-language-tabs { border-bottom: 1px solid rgb(255 255 255 / 13%); display: flex; gap: 7px; margin-bottom: clamp(34px, 5vw, 58px); }
.home-video-language-tabs button { background: transparent; border: 0; border-bottom: 3px solid transparent; color: rgb(255 250 245 / 45%); cursor: pointer; font: inherit; font-size: .7rem; font-weight: 850; margin-bottom: -1px; min-height: 52px; padding: 0 18px; text-transform: uppercase; transition: border-color 160ms ease, color 160ms ease; }
.home-video-language-tabs button[aria-selected="true"] { border-bottom-color: #e9a486; color: #fffaf5; }
.home-video-language-tabs button:hover, .home-video-language-tabs button:focus-visible { color: #e9a486; outline: 0; }
.home-video-transcript article { margin-inline: auto; max-width: 820px; }
.home-video-transcript article + article { border-left: 0; border-top: 0; padding-left: 0; padding-top: 0; }
.home-video-transcript article[hidden] { display: none; }
.home-video-transcript h3 { font-size: clamp(2.2rem, 4vw, 3.5rem); margin-bottom: 32px; }
.home-video-transcript article > p:not(.eyebrow) { color: rgb(255 250 245 / 78%); font-family: var(--font-serif); font-size: clamp(1.08rem, 1.55vw, 1.24rem); line-height: 1.86; }
.home-video-original { border-top: 1px solid rgb(255 255 255 / 13%); margin-top: clamp(28px, 5vw, 56px); position: relative; z-index: 1; }
.home-video-original > summary { align-items: center; cursor: pointer; display: grid; gap: 16px; grid-template-columns: auto 1fr auto; list-style: none; min-height: 88px; }
.home-video-original > summary::-webkit-details-marker { display: none; }
.home-video-original > summary > span:first-child { align-items: center; background: #a63830; border-radius: 50%; color: #fff; display: flex; height: 42px; justify-content: center; padding-left: 2px; width: 42px; }
.home-video-original > summary strong { color: #fffaf5; display: block; font-size: .76rem; letter-spacing: .035em; text-transform: uppercase; }
.home-video-original > summary small { color: rgb(255 250 245 / 48%); display: block; font-size: .65rem; margin-top: 4px; }
.home-video-original > summary b { border-bottom: 1px solid #e9a486; border-right: 1px solid #e9a486; height: 8px; transform: rotate(45deg); transition: transform 180ms ease; width: 8px; }
.home-video-original[open] > summary b { transform: rotate(225deg); }
.home-video-original-layout { border-top: 1px solid rgb(255 255 255 / 10%); display: grid; gap: clamp(28px, 5vw, 58px); grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); padding-top: clamp(30px, 5vw, 52px); }
.home-video-original-layout > div:last-child { align-self: center; }
.home-video-original-layout .eyebrow { color: #e9a486; margin-bottom: 17px; }

.home-lead-story { align-items: stretch; background: linear-gradient(135deg, color-mix(in srgb, var(--color-surface) 92%, var(--color-soft-blue)), var(--color-surface)); border: 0; border-bottom: 2px solid color-mix(in srgb, var(--color-line) 70%, var(--color-accent)); border-radius: 0; border-top: 2px solid color-mix(in srgb, var(--color-line) 70%, var(--color-accent)); box-shadow: none; display: grid; gap: clamp(18px, 3vw, 34px); grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); overflow: hidden; padding: 0; position: relative; }
.home-lead-story::before { color: color-mix(in srgb, var(--color-accent) 13%, transparent); content: "FEATURED"; font-size: clamp(4rem, 10vw, 10rem); font-weight: 950; letter-spacing: -.08em; line-height: .8; position: absolute; right: clamp(20px, 4vw, 54px); top: clamp(16px, 3vw, 34px); z-index: 0; }
.home-lead-image { align-self: stretch; border-radius: 0; min-height: 0; min-width: 0; overflow: hidden; position: relative; z-index: 1; }
.home-lead-image::after { background: linear-gradient(to top, rgb(20 18 17 / 58%), transparent 55%), linear-gradient(120deg, rgb(20 18 17 / 22%), transparent 48%); content: ""; inset: 0; position: absolute; }
.home-lead-image img { filter: saturate(.98) contrast(1.03); height: 100%; inset: 0; object-fit: cover; position: absolute; transition: filter 500ms ease, transform 900ms cubic-bezier(.2,.8,.2,1); width: 100%; }
.home-lead-image-portrait img { object-position: center 18%; }
.home-lead-story:hover .home-lead-image img, .home-lead-image:focus-visible img { filter: saturate(1.06) contrast(1.06); transform: scale(1.04); }
.home-lead-image > span { backdrop-filter: blur(14px); background: rgb(255 250 245 / 88%); border: 1px solid rgb(255 255 255 / 45%); border-radius: 999px; bottom: 25px; box-shadow: 0 12px 28px rgb(0 0 0 / 12%); color: #812d26; font-size: .65rem; font-weight: 900; left: 25px; letter-spacing: .08em; padding: 8px 12px; position: absolute; text-transform: uppercase; z-index: 1; }
.home-lead-copy { display: block; min-width: 0; padding: clamp(54px, 6vw, 82px) clamp(30px, 5vw, 66px); position: relative; z-index: 1; }
.home-lead-copy::before { background: color-mix(in srgb, var(--color-accent) 72%, #fffaf5); content: ""; height: 3px; left: clamp(30px, 5vw, 66px); position: absolute; right: clamp(30px, 5vw, 66px); top: clamp(28px, 4vw, 50px); transform-origin: left; transition: transform 260ms ease; }
.home-lead-story:hover .home-lead-copy::before { transform: scaleX(.72); }
.home-lead-kicker { align-items: center; display: flex; justify-content: space-between; margin-bottom: clamp(18px, 3vw, 34px); }
.home-lead-kicker .eyebrow { margin: 0; }
.home-lead-kicker > span { color: color-mix(in srgb, var(--color-accent) 35%, transparent); font-size: clamp(3rem, 6vw, 5.8rem); font-weight: 930; letter-spacing: -.08em; line-height: .78; }
.home-lead-copy h2 { font-size: clamp(2.8rem, 5.8vw, 5.8rem); letter-spacing: -.068em; line-height: .88; margin: 0 0 22px; max-width: 720px; }
.home-lead-copy h2 a { color: var(--color-ink); text-decoration: none; transition: color 160ms ease; }
.home-lead-copy h2 a:hover, .home-lead-copy h2 a:focus-visible { color: var(--color-accent-dark); outline: 0; }
.home-lead-byline { border-bottom: 1px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent)); border-top: 1px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent)); color: var(--color-accent); display: inline-flex; font-size: .68rem; font-weight: 840; margin: 0 0 24px; padding: 11px 0; text-transform: uppercase; width: fit-content; }
.home-lead-byline a { color: inherit; text-decoration-color: color-mix(in srgb, var(--color-accent), transparent 52%); text-underline-offset: 4px; transition: color 160ms ease, text-decoration-color 160ms ease, transform 160ms ease; }
.home-lead-byline a:hover, .home-lead-byline a:focus-visible { color: var(--color-accent-dark); outline: 0; text-decoration-color: currentColor; }
.home-lead-byline a:active { color: var(--color-blue); transform: translateY(1px); }
.home-lead-byline span { color: var(--color-muted); margin: 0 5px; }
.home-lead-copy > p:not(.eyebrow):not(.home-lead-byline) { color: var(--color-muted); display: -webkit-box; line-height: 1.7; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.home-lead-footer { align-items: center; border-top: 1px solid color-mix(in srgb, var(--color-line) 80%, transparent); display: flex; flex-wrap: wrap; gap: 16px 24px; justify-content: space-between; margin-top: clamp(28px, 4vw, 48px); padding-top: clamp(22px, 3vw, 34px); }
.home-lead-footer small { color: var(--color-muted); font-size: .68rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.home-read-action { align-items: center; background: var(--color-ink); border: 1px solid var(--color-ink); border-radius: 999px; color: var(--color-paper); display: inline-flex; font-size: .74rem; font-weight: 850; gap: 8px; min-height: 43px; padding: 0 15px; text-decoration: none; text-transform: uppercase; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; }
.home-read-action:hover, .home-read-action:focus-visible { background: var(--color-accent-dark); border-color: var(--color-accent-dark); color: #fff; outline: 0; transform: translateY(-2px); }
.home-read-action:active { transform: scale(.97); }
.home-read-action span { color: #f2b696; display: inline-block; margin-left: 7px; transition: color 160ms ease, transform 160ms ease; }
.home-read-action:hover span, .home-read-action:focus-visible span { color: #fffaf5; transform: translateX(4px); }
.home-read-action:active span { color: #fff; transform: translateX(2px); }

.home-section-heading { align-items: end; border-bottom: 1px solid var(--color-line); display: flex; gap: 35px; justify-content: space-between; margin-bottom: 34px; padding-bottom: 22px; }
.home-section-heading h2 { font-size: clamp(2.3rem, 5vw, 4.7rem); letter-spacing: -.055em; margin: 10px 0 0; }
.home-section-heading > p { color: var(--color-muted); line-height: 1.6; margin: 0 0 7px; max-width: 390px; }
.home-section-heading > a { color: var(--color-accent); font-size: .76rem; font-weight: 850; margin-bottom: 8px; text-decoration: none; text-transform: uppercase; transition: color 160ms ease, transform 160ms ease; }
.home-section-heading > a:hover, .home-section-heading > a:focus-visible { color: var(--color-accent-dark); outline: 0; transform: translateX(4px); }

.home-paths { align-items: stretch; border-bottom: 2px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent)); border-top: 2px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent)); box-sizing: border-box; display: grid; gap: clamp(28px, 5vw, 64px); grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); justify-self: end; padding: clamp(38px, 6vw, 72px) 0; position: relative; width: min(100%, 1240px); }
.home-paths::after { background: color-mix(in srgb, var(--color-accent) 72%, var(--color-ink)); content: ""; height: 6px; left: 0; position: absolute; top: -4px; width: clamp(72px, 12vw, 150px); }
.home-paths > .home-section-heading { align-content: space-between; align-items: start; border-bottom: 0; border-right: 1px solid color-mix(in srgb, var(--color-line) 74%, var(--color-accent)); display: grid; gap: 28px; margin-bottom: 0; padding: clamp(6px, 1vw, 12px) clamp(28px, 4vw, 52px) clamp(6px, 1vw, 12px) 0; }
.home-paths > .home-section-heading h2 { max-width: 360px; }
.home-paths > .home-section-heading > p { align-self: end; max-width: 330px; }
.home-paths-grid { display: grid; gap: 14px; grid-template-areas: "bible prayer" "bible study" "growth growth"; grid-template-columns: 1.08fr .92fr; }
.home-path { background: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent)); box-shadow: 0 10px 28px rgb(23 25 28 / 5%); color: var(--color-ink); display: grid; gap: 15px; grid-template-columns: auto 1fr auto; min-height: 250px; padding: clamp(27px, 4vw, 42px); position: relative; text-decoration: none; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease; }
.home-path:nth-child(1) { border-radius: 28px 8px 8px 28px; grid-area: bible; }
.home-path:nth-child(2) { border-radius: 8px 28px 8px 8px; grid-area: prayer; }
.home-path:nth-child(3) { border-radius: 8px; grid-area: study; }
.home-path:nth-child(4) { border-radius: 8px 8px 28px 8px; grid-area: growth; min-height: 190px; }
.home-path:hover, .home-path:focus-visible { background: #111315; border-color: color-mix(in srgb, var(--color-accent) 55%, #111315); box-shadow: 0 24px 54px rgb(23 25 28 / 16%); color: #fffaf5; outline: 0; transform: translateY(-4px); z-index: 1; }
.home-path:active { background: #0f1113; border-color: #e9a486; box-shadow: 0 12px 28px rgb(23 25 28 / 18%); transform: translateY(-1px) scale(.99); }
.home-path-number { color: var(--color-accent); font-size: .63rem; font-weight: 850; letter-spacing: .1em; }
.home-path > div:last-of-type { align-self: end; }
.home-path p { color: var(--color-muted); font-size: .67rem; margin: 0 0 7px; text-transform: uppercase; transition: color 160ms ease; }
.home-path h3 { font-size: clamp(1.7rem, 3.5vw, 2.8rem); letter-spacing: -.045em; margin: 0 0 8px; }
.home-path small { color: var(--color-muted); transition: color 160ms ease; }
.home-path:hover h3, .home-path:focus-visible h3, .home-path:active h3 { color: #fff; }
.home-path:hover p, .home-path:focus-visible p, .home-path:active p { color: #ffd7c8; }
.home-path:hover small, .home-path:focus-visible small, .home-path:active small { color: #fffaf5; }
.home-path:hover .home-path-number, .home-path:focus-visible .home-path-number, .home-path:active .home-path-number { color: #fffaf5; }
.home-path-arrow { align-self: end; color: var(--color-accent); font-size: 1.3rem; transition: color 160ms ease, transform 160ms ease; }
.home-path:hover .home-path-arrow, .home-path:focus-visible .home-path-arrow { color: #fffaf5; transform: translateX(6px); }
.home-path:active .home-path-arrow { color: #fff; transform: translateX(3px); }
.home-path-art { grid-column: 2 / 4; height: 70px; overflow: hidden; position: relative; }
.home-path-art i { border: 1px solid color-mix(in srgb, var(--color-accent) 35%, transparent); border-radius: 50%; height: 120px; position: absolute; right: 20px; top: -55px; width: 120px; }
.home-path-art i:nth-child(2) { height: 75px; right: 43px; top: -32px; width: 75px; }
.home-path-art b { color: var(--color-accent); font-family: var(--font-serif); font-size: 3rem; font-weight: 400; position: absolute; right: 58px; top: 5px; }
.home-path:hover .home-path-art i, .home-path:focus-visible .home-path-art i, .home-path:active .home-path-art i { border-color: rgb(255 250 245 / 30%); }
.home-path:hover .home-path-art b, .home-path:focus-visible .home-path-art b, .home-path:active .home-path-art b { color: #f2b696; }

.home-traces { margin-inline: calc(50% - 50vw); overflow: hidden; padding-block: clamp(64px, 10vw, 130px); }
.home-traces-heading { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin: 0 auto clamp(30px, 5vw, 54px); max-width: 1360px; padding-inline: clamp(24px, 6vw, 88px); }
.home-traces-heading h2 { font-size: clamp(3rem, 7vw, 7rem); letter-spacing: -.065em; line-height: .88; margin: 13px 0 0; }
.home-traces-heading h2 em { color: var(--color-accent); display: block; font-family: var(--font-serif); font-weight: 400; }
.home-traces-heading > p { color: var(--color-muted); line-height: 1.7; margin: 0 0 8px; max-width: 470px; }
.home-traces-stage { margin-inline: auto; max-width: 1540px; padding-inline: clamp(22px, 5vw, 76px); position: relative; }
.home-traces-frame { border: 1px solid #171514; border-radius: 34px 8px 34px 8px; box-shadow: 0 36px 90px rgb(15 19 22 / 18%); overflow: hidden; position: relative; }
.home-traces-frame::after { border: 1px solid rgb(255 255 255 / 22%); border-radius: 26px 5px 26px 5px; content: ""; inset: 16px; pointer-events: none; position: absolute; z-index: 4; }
.home-traces-track { display: flex; touch-action: pan-y; transition: transform 720ms cubic-bezier(.2,.76,.2,1); will-change: transform; }
.home-trace { box-sizing: border-box; color: #fffaf5; flex: 0 0 100%; min-height: clamp(600px, 62vw, 820px); overflow: hidden; padding: clamp(48px, 8vw, 105px); position: relative; }
.home-trace::before { background: linear-gradient(90deg, rgb(7 10 13 / 92%), rgb(7 10 13 / 56%) 52%, rgb(7 10 13 / 10%)); content: ""; inset: 0; position: absolute; z-index: 1; }
.home-trace-copy { align-content: end; display: grid; min-height: calc(clamp(600px, 62vw, 820px) - clamp(96px, 16vw, 210px)); position: relative; width: min(58%, 710px); z-index: 2; }
.home-trace-copy > p:first-child { color: rgb(255 255 255 / 62%); font-size: .67rem; font-weight: 850; letter-spacing: .12em; margin: 0 0 20px; text-transform: uppercase; }
.home-trace-copy > p:first-child span { color: #f0b28f; margin-right: 12px; }
.home-trace h3 { color: #fff; font-size: clamp(3rem, 6.6vw, 6.7rem); letter-spacing: -.065em; line-height: .86; margin: 0; }
.home-trace h3 em { color: #e9a486; display: block; font-family: var(--font-serif); font-weight: 400; }
.home-trace-body { color: rgb(255 255 255 / 78%); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.72; margin: 28px 0 0; max-width: 590px; }
.home-trace blockquote { border-left: 2px solid #e9a486; color: #fff; font: italic 400 clamp(1.1rem, 2vw, 1.5rem)/1.5 var(--font-serif); margin: 32px 0 0; padding-left: 20px; }
.home-trace blockquote small { color: rgb(255 255 255 / 55%); display: block; font: 750 .62rem/1.4 var(--font-sans); letter-spacing: .12em; margin-top: 8px; text-transform: uppercase; }
.home-trace-reveal { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 30px; }
.home-trace-reveal span { color: rgb(255 255 255 / 68%); font-size: .78rem; font-weight: 750; opacity: 0; transform: translateY(12px); }
.home-trace.is-active .home-trace-reveal span { animation: home-trace-line 700ms both; }
.home-trace.is-active .home-trace-reveal span:nth-child(2) { animation-delay: 180ms; }
.home-trace.is-active .home-trace-reveal span:nth-child(3) { animation-delay: 360ms; }
@keyframes home-trace-line { to { opacity: 1; transform: translateY(0); } }
.home-trace-art { inset: 0; overflow: hidden; position: absolute; }
.home-trace-intelligible { background: radial-gradient(circle at 78% 42%, #614329 0 2%, #201b18 16%, transparent 38%), radial-gradient(circle at 85% 15%, #192d43, transparent 35%), #050709; }
.home-trace-intelligible .home-trace-art i { border: 1px solid rgb(233 164 134 / 32%); border-radius: 50%; height: 46vw; max-height: 660px; max-width: 660px; position: absolute; right: -5%; top: 3%; width: 46vw; }
.home-trace-intelligible .home-trace-art i:nth-child(2) { height: 32vw; right: 2%; top: 12%; transform: rotate(20deg); width: 32vw; }
.home-trace-intelligible .home-trace-art i:nth-child(3) { height: 19vw; right: 9%; top: 21%; width: 19vw; }
.home-trace-intelligible .home-trace-art b { background: linear-gradient(110deg, transparent 35%, rgb(241 193 147 / 65%), transparent 63%); filter: blur(8px); inset: -20%; position: absolute; transform: rotate(-10deg); }
.home-trace-lightning { background: radial-gradient(circle at 26% 20%, #9aa7ba, transparent 8%), linear-gradient(145deg, #273647, #0a1119 58%, #030506); }
.home-trace-lightning .home-trace-art i { background: #f7fbff; box-shadow: 0 0 25px #bdcde5; clip-path: polygon(52% 0,61% 30%,53% 30%,68% 56%,58% 55%,74% 100%,45% 59%,55% 59%,41% 33%,50% 33%); height: 92%; left: 20%; position: absolute; top: -4%; transform: rotate(8deg); width: 13%; }
.home-trace-lightning .home-trace-art i:nth-child(2) { filter: blur(14px); opacity: .35; transform: rotate(8deg) scale(1.5); }
.home-trace-earth { background: radial-gradient(circle at 78% 38%, #5ea5bd 0 10%, #183e53 24%, #071018 37%, #020406 52%); }
.home-trace-earth .home-trace-art i { border: 1px solid rgb(167 222 235 / 42%); border-radius: 50%; box-shadow: 0 0 60px rgb(109 202 224 / 24%); height: 54vw; max-height: 780px; max-width: 780px; position: absolute; right: -8%; top: 4%; width: 54vw; }
.home-trace-eye { background: radial-gradient(ellipse at 76% 47%, #d9d8d1 0 20%, #8d8983 25%, #292827 39%, #0c0a09 58%); }
.home-trace-eye .home-trace-art::before { background: radial-gradient(circle at 67% 34%, rgb(255 255 255 / 92%) 0 2%, transparent 3%), radial-gradient(circle, #05080b 0 17%, #174c72 18% 30%, #3f91bc 35%, #9bc8da 48%, #255f82 59%, #0c3049 66%, transparent 68%); border-radius: 50%; box-shadow: inset 0 0 20px rgb(2 24 38 / 85%), 0 0 0 1px rgb(255 255 255 / 35%); content: ""; height: min(25vw, 360px); position: absolute; right: 13.5%; top: 26%; width: min(25vw, 360px); z-index: 2; }
.home-trace-eye .home-trace-art i { border: 1px solid rgb(129 197 222 / 24%); border-radius: 50%; height: min(31vw, 450px); position: absolute; right: 10.5%; top: 21%; width: min(31vw, 450px); }
.home-trace-eye .home-trace-art i:nth-child(2) { border-color: rgb(255 255 255 / 34%); height: min(8vw, 116px); right: 21.3%; top: 39%; width: min(8vw, 116px); z-index: 3; }
.home-trace-eye .home-trace-art b { background: repeating-conic-gradient(from 8deg at 100% 50%, transparent 0 11deg, rgb(143 45 52 / 42%) 12deg 13deg, transparent 14deg 27deg); clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 82%, 27% 54%); height: min(26vw, 374px); opacity: .72; position: absolute; right: 34%; top: 26%; width: min(20vw, 290px); }
.home-trace-eye .home-trace-art span { background: repeating-conic-gradient(from 190deg at 0 50%, transparent 0 13deg, rgb(143 45 52 / 36%) 14deg 15deg, transparent 16deg 29deg); clip-path: polygon(0 0, 100% 18%, 73% 50%, 100% 82%, 0 100%); height: min(26vw, 374px); opacity: .62; position: absolute; right: 0; top: 26%; width: min(17vw, 245px); }
.home-trace-butterfly { background: radial-gradient(circle at 76% 42%, #9a6843, #263125 26%, #09100d 54%); }
.home-trace-butterfly .home-trace-art::before { background: linear-gradient(90deg, #654731, #b48a5e 37%, #8b6545 62%, #4b3426); border-radius: 48% 42% 44% 50%; box-shadow: inset -8px 0 16px rgb(45 26 16 / 34%), 12px 18px 32px rgb(0 0 0 / 22%); content: ""; height: 124%; position: absolute; right: 18%; top: -12%; transform: rotate(-3deg); width: min(7vw, 100px); }
.home-trace-butterfly .home-trace-art i:nth-child(1) { background: radial-gradient(ellipse at 71% 24%, #d3c36d 0 3%, transparent 4%), radial-gradient(ellipse at 30% 43%, #9eab4e 0 4%, transparent 5%), radial-gradient(ellipse at 68% 62%, #c2b957 0 4%, transparent 5%), radial-gradient(ellipse at 35% 79%, #8e9a43 0 3%, transparent 4%), linear-gradient(115deg, #273f25, #667a37 36%, #3e5c2d 68%, #182e20); border: 1px solid rgb(207 211 125 / 48%); box-shadow: inset 14px 0 22px rgb(11 27 16 / 38%), inset -12px -8px 24px rgb(18 39 21 / 52%), 14px 20px 36px rgb(0 0 0 / 30%); clip-path: polygon(43% 0, 72% 7%, 89% 22%, 78% 37%, 94% 55%, 78% 72%, 69% 91%, 50% 100%, 32% 91%, 22% 72%, 13% 52%, 21% 31%, 28% 13%); height: min(35vw, 505px); position: absolute; right: 18.5%; top: 23%; transform: rotate(-4deg); width: min(15vw, 215px); z-index: 2; }
.home-trace-butterfly .home-trace-art i:nth-child(2) { background: repeating-linear-gradient(174deg, transparent 0 9%, rgb(218 210 117 / 24%) 9.5% 10.2%, transparent 10.7% 17%); clip-path: polygon(43% 0, 72% 7%, 89% 22%, 78% 37%, 94% 55%, 78% 72%, 69% 91%, 50% 100%, 32% 91%, 22% 72%, 13% 52%, 21% 31%, 28% 13%); height: min(35vw, 505px); position: absolute; right: 18.5%; top: 23%; transform: rotate(-4deg); width: min(15vw, 215px); z-index: 3; }
.home-trace-butterfly .home-trace-art b { background: linear-gradient(90deg, #59402c, #ad8055, #5b3e2a); border-radius: 50%; box-shadow: 0 10px 18px rgb(0 0 0 / 22%); height: min(4vw, 58px); position: absolute; right: 19.4%; top: 72%; transform: rotate(-3deg); width: min(8vw, 115px); }
.home-trace-scale { background: radial-gradient(circle at 81% 45%, #665792 0 3%, #18243e 20%, transparent 41%), radial-gradient(circle at 63% 68%, #7a5235 0 2%, transparent 24%), #05070b; }
.home-trace-scale .home-trace-art i { border: 1px solid rgb(180 183 236 / 26%); border-radius: 50%; height: 8vw; position: absolute; right: 22%; top: 19%; width: 8vw; }
.home-trace-scale .home-trace-art i:nth-child(2) { height: 25vw; right: 8%; top: 28%; width: 25vw; }
.home-trace-scale .home-trace-art i:nth-child(3) { border-style: dotted; height: 43vw; right: -2%; top: 11%; width: 43vw; }
.home-trace-scale .home-trace-art b { background-image: radial-gradient(circle, rgb(255 255 255 / 75%) 0 1px, transparent 1.5px); background-size: 43px 43px; inset: 0; opacity: .35; position: absolute; }
.home-trace-conclusion { background: radial-gradient(circle at 78% 42%, #2d4050 0 2%, transparent 26%), linear-gradient(135deg, #090c0f, #12191e 68%, #080a0c); }
.home-trace-conclusion::before { background: linear-gradient(90deg, rgb(7 10 13 / 94%), rgb(7 10 13 / 50%) 62%, transparent); }
.home-trace-conclusion .home-trace-art i { border: 1px solid rgb(233 164 134 / 18%); border-radius: 50%; height: min(44vw, 640px); position: absolute; right: -2%; top: 4%; width: min(44vw, 640px); }
.home-trace-conclusion .home-trace-art i:nth-child(2) { border-color: rgb(168 215 222 / 16%); height: min(28vw, 405px); right: 5.5%; top: 18%; width: min(28vw, 405px); }
.home-trace-conclusion .home-trace-art b { background: linear-gradient(90deg, transparent, #e9a486 42%, #f5d6a0 52%, transparent); box-shadow: 0 0 25px rgb(233 164 134 / 28%); height: 1px; left: 46%; position: absolute; right: 5%; top: 51%; transform: rotate(-8deg); }
.home-trace-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 32px; position: relative; z-index: 6; }
.home-trace-actions a { pointer-events: auto; }
.home-trace-actions .button { background: #fffaf5; color: #291a16; }
.home-trace-actions .button:hover, .home-trace-actions .button:focus-visible { background: #e9a486; color: #201310; }
.home-trace-actions > a:not(.button) { color: #fff; font-size: .72rem; font-weight: 820; text-decoration: none; text-transform: uppercase; }
.home-trace-actions > a:not(.button):hover, .home-trace-actions > a:not(.button):focus-visible { color: #e9a486; outline: 0; }
.home-trace-index { bottom: clamp(42px, 6vw, 70px); color: rgb(255 255 255 / 34%); font-size: .58rem; font-weight: 750; left: auto; letter-spacing: .12em; margin: 0; max-width: 300px; position: absolute; right: clamp(44px, 7vw, 92px); text-align: right; text-transform: uppercase; z-index: 2; }
.home-traces-arrow { align-items: center; background: #fffaf5; border: 1px solid #171514; border-radius: 50%; box-shadow: 0 12px 30px rgb(7 10 13 / 24%); color: #171514; display: flex; font-size: 1.15rem; height: 62px; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; width: 62px; z-index: 5; }
.home-traces-arrow:hover, .home-traces-arrow:focus-visible { background: #e9a486; color: #201310; outline: 3px solid rgb(255 255 255 / 60%); transform: translateY(-50%) scale(1.07); }
.home-traces-arrow-prev { left: clamp(0px, 2.6vw, 40px); }
.home-traces-arrow-next { right: clamp(0px, 2.6vw, 40px); }
.home-traces-footer { align-items: center; display: flex; justify-content: space-between; margin: 25px auto 0; max-width: 1360px; padding-inline: clamp(24px, 6vw, 88px); }
.home-traces-dots { align-items: center; display: flex; gap: 9px; }
.home-traces-dots button { background: color-mix(in srgb, var(--color-muted) 44%, transparent); border: 0; border-radius: 999px; cursor: pointer; height: 5px; padding: 0; transition: background-color 220ms ease, width 320ms ease; width: 7px; }
.home-traces-dots button[aria-selected="true"] { background: var(--color-accent); width: 48px; }
.home-traces-dots button:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-accent) 35%, transparent); outline-offset: 4px; }
.home-traces-footer > p { color: var(--color-muted); font: italic .75rem/1 var(--font-serif); margin: 0; }
.home-traces-footer > p span { color: var(--color-ink); font-size: 1rem; }

.home-suspended-thought { align-items: center; background: radial-gradient(circle at 76% 45%, #172631 0, #0c1217 25%, transparent 49%), linear-gradient(135deg, #07090b, #0b0f12 68%, #050607); border: 1px solid rgb(255 255 255 / 10%); border-radius: 8px 34px 8px 34px; box-shadow: 0 38px 90px rgb(7 9 11 / 24%); color: #fff; display: grid; gap: clamp(40px, 8vw, 110px); grid-template-columns: minmax(0, .9fr) minmax(330px, .75fr); min-height: clamp(720px, 72vw, 900px); overflow: hidden; padding: clamp(50px, 8vw, 105px); position: relative; }
.home-suspended-thought::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 6px 27px 6px 27px; content: ""; inset: 17px; pointer-events: none; position: absolute; z-index: 5; }
.home-suspended-copy { position: relative; z-index: 4; }
.home-suspended-copy .eyebrow { color: #e9a486; }
.home-suspended-steps { border-left: 1px solid rgb(233 164 134 / 45%); display: grid; gap: 8px; margin: 28px 0 32px; padding-left: 18px; }
.home-suspended-steps p { color: rgb(255 255 255 / 45%); font-size: .73rem; font-weight: 680; margin: 0; opacity: 0; transform: translateY(8px); }
.home-suspended-thought.is-visible .home-suspended-steps p { animation: home-suspended-line 700ms both; }
.home-suspended-thought.is-visible .home-suspended-steps p:nth-child(2) { animation-delay: 260ms; color: rgb(255 255 255 / 64%); }
.home-suspended-thought.is-visible .home-suspended-steps p:nth-child(3) { animation-delay: 520ms; color: #fff; }
@keyframes home-suspended-line { to { opacity: 1; transform: translateY(0); } }
.home-suspended-copy h2 { color: #fff; font-size: clamp(3.2rem, 7vw, 7rem); letter-spacing: -.066em; line-height: .84; margin: 0; max-width: 770px; }
.home-suspended-copy h2 em { color: #a8d7de; display: block; font-family: var(--font-serif); font-weight: 400; }
.home-suspended-copy > p:not(.eyebrow) { color: rgb(255 255 255 / 66%); line-height: 1.72; margin: 30px 0; max-width: 600px; }
.home-suspended-copy .button { background: #fffaf5; color: #18252c; position: relative; z-index: 7; }
.home-suspended-copy .button:hover, .home-suspended-copy .button:focus-visible { background: #a8d7de; color: #10232d; }
.home-suspended-object { align-self: stretch; display: grid; place-items: center; position: relative; z-index: 3; }
.home-suspended-thread { background: linear-gradient(transparent, rgb(255 255 255 / 35%)); height: 24%; left: 50%; position: absolute; top: -10%; width: 1px; }
.home-suspended-window { background: radial-gradient(circle at 72% 25%, rgb(255 241 202 / 88%) 0 1%, transparent 2%), radial-gradient(circle at 35% 36%, #8bb8ca 0 1%, transparent 2%), radial-gradient(circle at 68% 66%, #d3b789 0 1%, transparent 2%), linear-gradient(158deg, #07111c, #17344c 54%, #9b765c 126%); border: 1px solid rgb(255 255 255 / 38%); box-shadow: 0 42px 75px rgb(0 0 0 / 54%), inset 0 0 70px rgb(3 8 13 / 48%); height: min(57vw, 610px); max-height: 72%; overflow: hidden; position: relative; transform: perspective(900px) rotateY(-7deg) rotateZ(2.5deg) translateY(14px); transition: transform 1.4s cubic-bezier(.2,.78,.2,1); width: min(31vw, 390px); }
.home-suspended-thought.is-visible .home-suspended-window { transform: perspective(900px) rotateY(-2deg) rotateZ(.7deg) translateY(0); }
.home-suspended-window::after { background: linear-gradient(115deg, rgb(255 255 255 / 18%), transparent 25% 72%, rgb(255 255 255 / 8%)); content: ""; inset: 0; position: absolute; }
.home-suspended-window i { background: #fff; border-radius: 50%; box-shadow: 0 0 9px #fff; height: 2px; left: 22%; position: absolute; top: 18%; width: 2px; }
.home-suspended-window i:nth-child(2) { height: 3px; left: 73%; top: 31%; width: 3px; }
.home-suspended-window i:nth-child(3) { left: 61%; top: 54%; }
.home-suspended-window i:nth-child(4) { left: 31%; top: 66%; }
.home-suspended-window i:nth-child(5) { left: 82%; top: 78%; }
.home-suspended-window b { border: 1px solid rgb(168 215 222 / 34%); border-radius: 50%; height: 78%; position: absolute; right: -48%; top: 12%; width: 110%; }
.home-suspended-window > span { background: linear-gradient(110deg, transparent, rgb(233 164 134 / 38%), transparent); filter: blur(8px); inset: -20%; position: absolute; transform: rotate(-18deg); }
.home-suspended-object > p { bottom: 10%; color: rgb(255 255 255 / 72%); font: italic 400 clamp(.9rem, 1.5vw, 1.15rem)/1.5 var(--font-serif); left: 50%; margin: 0; position: absolute; text-align: center; transform: translateX(-50%); width: 88%; z-index: 2; }
.home-suspended-smoke { inset: 0; pointer-events: none; position: absolute; z-index: 2; }
.home-suspended-smoke i { background: radial-gradient(ellipse, rgb(144 164 174 / 17%), transparent 68%); filter: blur(20px); height: 34%; opacity: .55; position: absolute; right: 12%; top: 10%; transform: translateX(20%); width: 55%; }
.home-suspended-smoke i:nth-child(2) { bottom: 2%; height: 43%; left: 18%; right: auto; top: auto; width: 68%; }
.home-suspended-smoke i:nth-child(3) { height: 28%; right: -5%; top: 58%; width: 48%; }
.home-suspended-thought.is-visible .home-suspended-smoke i { animation: home-smoke-drift 9s ease-in-out infinite alternate; }
.home-suspended-thought.is-visible .home-suspended-smoke i:nth-child(2) { animation-delay: -3s; animation-duration: 12s; }
.home-suspended-thought.is-visible .home-suspended-smoke i:nth-child(3) { animation-delay: -6s; animation-duration: 10s; }
@keyframes home-smoke-drift { to { opacity: .32; transform: translate(-8%, 5%) scale(1.12); } }
.home-suspended-signature { bottom: 35px; color: rgb(255 255 255 / 28%); font: italic .68rem/1 var(--font-serif); letter-spacing: .08em; margin: 0; position: absolute; right: clamp(42px, 7vw, 88px); z-index: 4; }

/* Two additive explorations placed after “Une pensée en suspens”. */
.home-suspended-integrated { align-items: center; background: radial-gradient(circle at 78% 46%, rgb(71 112 123 / 29%), transparent 28%), radial-gradient(circle at 78% 46%, rgb(233 164 134 / 10%), transparent 46%), linear-gradient(118deg, #080a0c 0%, #0b1014 56%, #091217 100%); border: 1px solid rgb(255 255 255 / 10%); border-radius: 8px 34px 8px 34px; box-shadow: 0 38px 90px rgb(7 9 11 / 24%); color: #fff; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(350px, .98fr); min-height: clamp(720px, 72vw, 900px); overflow: hidden; padding: clamp(50px, 8vw, 105px); position: relative; }
.home-suspended-integrated::before { background: linear-gradient(112deg, transparent 0 48%, rgb(168 215 222 / 5%) 64%, transparent 86%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.home-suspended-integrated::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 6px 27px 6px 27px; content: ""; inset: 17px; pointer-events: none; position: absolute; z-index: 5; }
.home-suspended-integrated-copy { padding-right: clamp(10px, 3vw, 48px); position: relative; z-index: 4; }
.home-suspended-integrated .eyebrow { color: #e9a486; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.home-suspended-integrated .eyebrow span, .home-question-ledger .eyebrow span { color: rgb(255 255 255 / 36%); font-size: .58rem; }
.home-suspended-integrated-steps { border-left: 1px solid rgb(233 164 134 / 45%); display: grid; gap: 8px; margin: 28px 0 32px; padding-left: 18px; }
.home-suspended-integrated-steps p { color: rgb(255 255 255 / 45%); font-size: .73rem; font-weight: 680; margin: 0; }
.home-suspended-integrated-steps p:nth-child(2) { color: rgb(255 255 255 / 64%); }
.home-suspended-integrated-steps p:nth-child(3) { color: #fff; }
.home-suspended-integrated-copy h2 { color: #fff; font-size: clamp(3.2rem, 7vw, 7rem); letter-spacing: -.066em; line-height: .84; margin: 0; max-width: 770px; }
.home-suspended-integrated-copy h2 em { color: #79c2cf; display: block; font-family: var(--font-serif); font-weight: 400; }
.home-suspended-integrated-copy > p:not(.eyebrow) { color: rgb(255 255 255 / 66%); line-height: 1.72; margin: 30px 0; max-width: 600px; }
.home-suspended-integrated-copy .button { background: #fffaf5; color: #18252c; position: relative; z-index: 7; }
.home-suspended-integrated-copy .button:hover, .home-suspended-integrated-copy .button:focus-visible { background: #a8d7de; color: #10232d; }
.home-suspended-integrated-cosmos { align-self: stretch; display: grid; place-items: center; position: relative; z-index: 3; }
.home-suspended-integrated-cosmos::before { background: radial-gradient(ellipse at 52% 43%, rgb(168 215 222 / 16%), transparent 58%); content: ""; filter: blur(14px); inset: -6% -28% 0 -24%; position: absolute; }
.home-suspended-integrated-orbits { height: min(66vw, 700px); max-height: 87%; position: absolute; width: min(42vw, 530px); }
.home-suspended-integrated-orbits::before { background: linear-gradient(transparent, rgb(255 255 255 / 42%) 58%, rgb(168 215 222 / 18%)); content: ""; height: 60%; left: 50%; position: absolute; top: -17%; width: 1px; }
.home-suspended-integrated-orbits::after { border: 1px solid rgb(168 215 222 / 18%); border-radius: 50%; content: ""; height: 72%; left: 14%; position: absolute; top: 18%; transform: scaleY(.72); width: 72%; }
.home-suspended-integrated-orbits i:nth-child(1) { border: 1px solid rgb(233 164 134 / 16%); border-radius: 50%; height: 92%; left: 4%; position: absolute; top: 8%; transform: rotate(28deg) scaleY(.63); width: 92%; }
.home-suspended-integrated-orbits i:nth-child(2) { border-bottom: 1px solid rgb(255 255 255 / 18%); border-left: 1px solid rgb(255 255 255 / 18%); height: 38%; left: 31%; position: absolute; top: 29%; transform: rotate(-45deg); width: 38%; }
.home-suspended-integrated-orbits i:nth-child(3) { background: #e9a486; border-radius: 50%; box-shadow: 0 0 18px rgb(233 164 134 / 72%), 0 0 62px rgb(168 215 222 / 32%); height: 7px; left: calc(50% - 3px); position: absolute; top: 43%; width: 7px; z-index: 3; }
.home-suspended-integrated-orbits b { background: linear-gradient(90deg, transparent, rgb(168 215 222 / 48%), transparent); filter: blur(5px); height: 1px; left: 0; position: absolute; top: 44%; transform: rotate(-10deg); width: 100%; }
.home-suspended-integrated-orbits strong { color: transparent; font: 400 clamp(15rem, 29vw, 29rem)/.74 var(--font-serif); left: 50%; margin: 0; position: absolute; top: 48%; transform: translate(-50%, -50%); -webkit-text-stroke: 1px rgb(224 240 241 / 41%); text-shadow: 0 0 50px rgb(168 215 222 / 9%); }
.home-suspended-integrated-orbits > span { color: rgb(255 255 255 / 42%); font-size: .57rem; font-weight: 800; letter-spacing: .12em; position: absolute; text-transform: uppercase; }
.home-suspended-integrated-orbits > span:nth-of-type(1) { left: 5%; top: 23%; }
.home-suspended-integrated-orbits > span:nth-of-type(2) { right: 2%; top: 38%; }
.home-suspended-integrated-orbits > span:nth-of-type(3) { bottom: 13%; left: 17%; }
.home-suspended-integrated-cosmos > p { bottom: 9%; color: #fff; font: italic 400 clamp(1.02rem, 1.55vw, 1.24rem)/1.55 var(--font-serif); left: 50%; margin: 0; position: absolute; text-align: center; text-shadow: 0 3px 18px #071017; transform: translateX(-50%); width: 110%; z-index: 5; }
.home-suspended-integrated-cosmos > span { bottom: 26px; color: rgb(255 255 255 / 27%); font: italic .67rem/1 var(--font-serif); letter-spacing: .08em; position: absolute; right: 0; }

.home-question-ledger { background: #f0e8d8; border: 1px solid #c9baa0; box-shadow: 0 34px 80px rgb(49 38 25 / 14%); color: #25211b; overflow: hidden; padding: clamp(34px, 6vw, 76px); position: relative; }
.home-question-ledger::before { background-image: linear-gradient(rgb(84 68 47 / 8%) 1px, transparent 1px); background-size: 100% 31px; content: ""; inset: 0; opacity: .6; pointer-events: none; position: absolute; }
.home-question-ledger > * { position: relative; z-index: 1; }
.home-question-ledger-heading { align-items: center; border-bottom: 1px solid #8d7e67; display: flex; gap: 24px; justify-content: space-between; padding-bottom: 18px; }
.home-question-ledger .eyebrow { color: #8b312a; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.home-question-ledger .eyebrow span { color: #8b7d68; }
.home-question-ledger-heading > p:last-child { color: #6e6250; font-family: var(--font-serif); font-size: .72rem; font-style: italic; margin: 0; }
.home-question-ledger-grid { display: grid; gap: clamp(28px, 5vw, 70px); grid-template-columns: auto minmax(0, 1fr) minmax(210px, .32fr); padding: clamp(44px, 8vw, 96px) 0; }
.home-question-ledger-number { color: #a53b31; font: 400 clamp(8rem, 18vw, 17rem)/.68 var(--font-serif); opacity: .92; }
.home-question-ledger-copy { max-width: 740px; }
.home-question-ledger-intro { color: #665b4b; font: 400 clamp(1.05rem, 1.7vw, 1.35rem)/1.55 var(--font-serif); margin: 0 0 30px; }
.home-question-ledger-intro em { color: #9a352d; }
.home-question-ledger-copy h2 { color: #26221c; font-size: clamp(3rem, 6.8vw, 6.8rem); letter-spacing: -.067em; line-height: .86; margin: 0; }
.home-question-ledger-copy h2 span { color: #9a352d; display: block; font-family: var(--font-serif); font-weight: 400; }
.home-question-ledger-copy > p:not(.home-question-ledger-intro) { border-left: 2px solid #a53b31; color: #554b3e; line-height: 1.75; margin: 34px 0 30px; max-width: 650px; padding-left: 20px; }
.home-question-ledger-copy > a { color: #8b312a; font-size: .72rem; font-weight: 850; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.home-question-ledger-copy > a span { display: inline-block; margin-left: 8px; transition: transform 160ms ease; }
.home-question-ledger-copy > a:hover span, .home-question-ledger-copy > a:focus-visible span { transform: translate(3px, -3px); }
.home-question-ledger-notes { align-self: stretch; border-left: 1px solid #b9aa91; display: grid; grid-template-rows: repeat(3, 1fr); }
.home-question-ledger-notes > div { align-items: center; border-bottom: 1px solid #b9aa91; display: grid; gap: 15px; grid-template-columns: auto 1fr; padding: 18px 0 18px 22px; }
.home-question-ledger-notes > div:first-child { border-top: 1px solid #b9aa91; }
.home-question-ledger-notes span { color: #a53b31; font-size: .61rem; font-weight: 850; }
.home-question-ledger-notes p { color: #6d614f; font: italic .8rem/1.5 var(--font-serif); margin: 0; }
.home-question-ledger-notes strong { color: #27231d; display: block; font: 800 .68rem/1.5 var(--font-sans); letter-spacing: .07em; text-transform: uppercase; }
.home-question-ledger footer { align-items: center; border-top: 1px solid #8d7e67; display: flex; gap: 30px; justify-content: space-between; padding-top: 18px; }
.home-question-ledger footer span { color: #9a352d; font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.home-question-ledger footer p { color: #6e6250; font: italic .82rem/1.45 var(--font-serif); margin: 0; text-align: right; }

.home-question-field { background: radial-gradient(circle at 82% 20%, rgb(201 111 95 / 13%), transparent 31%), linear-gradient(135deg, #f5e7d9, #eddbca 68%, #f7ede3); border: 1px solid #d8c0ab; border-radius: 34px 8px 34px 8px; box-shadow: 0 34px 82px rgb(92 62 43 / 13%); display: grid; gap: 38px clamp(30px, 6vw, 86px); grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr); min-height: clamp(700px, 67vw, 840px); overflow: hidden; padding: clamp(48px, 8vw, 98px); position: relative; }
.home-question-field::before { background: linear-gradient(90deg, transparent 49.9%, rgb(125 82 58 / 11%) 50%, transparent 50.1%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.home-question-field-lines { inset: 0; opacity: .48; overflow: hidden; pointer-events: none; position: absolute; }
.home-question-field-lines i { border: 1px solid #c6907b; border-radius: 50%; height: 620px; position: absolute; right: -175px; top: -90px; transform: rotate(18deg) scaleY(.62); width: 620px; }
.home-question-field-lines i:nth-child(2) { height: 510px; right: -120px; top: -34px; width: 510px; }
.home-question-field-lines i:nth-child(3) { height: 400px; right: -65px; top: 21px; width: 400px; }
.home-question-field-lines i:nth-child(4) { height: 290px; right: -10px; top: 76px; width: 290px; }
.home-question-field-lines i:nth-child(5) { height: 180px; right: 45px; top: 131px; width: 180px; }
.home-question-field-copy { align-self: center; position: relative; z-index: 2; }
.home-question-field .eyebrow { color: #8f332c; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.home-question-field .eyebrow span { color: #866753; font-size: .58rem; }
.home-question-field h2 { color: #2d211c; font-size: clamp(3.4rem, 7.2vw, 7.2rem); letter-spacing: -.07em; line-height: .82; margin: 28px 0; max-width: 760px; }
.home-question-field h2 em { color: #c96f5f; display: block; font-family: var(--font-serif); font-weight: 400; }
.home-question-field-copy > p:not(.eyebrow) { color: #6d5546; line-height: 1.72; margin: 0 0 30px; max-width: 610px; }
.home-question-field .button { background: #fffaf5; color: #4a2d24; }
.home-question-field .button:hover, .home-question-field .button:focus-visible { background: #c96f5f; color: #fffaf5; }
.home-question-field-mark { align-self: center; display: grid; min-height: 500px; place-items: center; position: relative; z-index: 1; }
.home-question-field-mark > span { color: rgb(78 49 39 / 90%); font: 400 clamp(14rem, 27vw, 27rem)/.7 var(--font-serif); transform: rotate(5deg); }
.home-question-field-mark > p { bottom: 7%; color: #8f332c; font: italic 400 clamp(.95rem, 1.45vw, 1.15rem)/1.5 var(--font-serif); margin: 0; position: absolute; text-align: center; }
.home-question-field > ol { align-self: end; border-top: 1px solid rgb(125 82 58 / 25%); display: grid; gap: 0; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; position: relative; z-index: 2; }
.home-question-field > ol li { color: #5d4639; font-size: .68rem; font-weight: 850; letter-spacing: .08em; padding: 20px 0 0; text-transform: uppercase; }
.home-question-field > ol li + li { border-left: 1px solid rgb(125 82 58 / 20%); padding-left: 24px; }
.home-question-field > ol span { color: #8f332c; margin-right: 12px; }
.home-question-field-editorial blockquote { border: 0; color: #745b4c; font: 400 clamp(1rem, 1.55vw, 1.25rem)/1.55 var(--font-serif); margin: 24px 0 30px; padding: 0; }
.home-question-field-editorial blockquote em { color: #8f332c; }
.home-question-field-editorial h2 { font-size: clamp(3.1rem, 6.35vw, 6.35rem); }
.home-question-field-editorial-copy { max-width: 760px; }
.home-question-field-editorial {
  margin-block: clamp(-88px, -6.5vw, -38px);
}

html[data-theme="dark"] .home-question-field {
  background: radial-gradient(circle at 78% 27%, rgb(91 142 151 / 15%), transparent 30%), linear-gradient(135deg, #10191d, #0b1215 68%, #101a1e);
  border-color: #2b4146;
  box-shadow: 0 36px 88px rgb(0 0 0 / 34%);
}
html[data-theme="dark"] .home-question-field::before { background: linear-gradient(90deg, transparent 49.9%, rgb(168 215 222 / 10%) 50%, transparent 50.1%); }
html[data-theme="dark"] .home-question-field-lines { opacity: .26; }
html[data-theme="dark"] .home-question-field-lines i { border-color: #78a4aa; }
html[data-theme="dark"] .home-question-field .eyebrow,
html[data-theme="dark"] .home-question-field > ol span { color: #e9a486; }
html[data-theme="dark"] .home-question-field h2 em { color: #79c2cf; }
html[data-theme="dark"] .home-question-field-mark > p { color: #fffaf5; }
html[data-theme="dark"] .home-question-field-editorial blockquote { color: #bdccce; }
html[data-theme="dark"] .home-question-field-editorial blockquote em { color: #e9a486; }
html[data-theme="dark"] .home-question-field .eyebrow span { color: #78959a; }
html[data-theme="dark"] .home-question-field h2 { color: #f8f4ed; }
html[data-theme="dark"] .home-question-field-copy > p:not(.eyebrow) { color: #adc0c3; }
html[data-theme="dark"] .home-question-field .button { background: #fffaf5; color: #18252c; }
html[data-theme="dark"] .home-question-field .button:hover,
html[data-theme="dark"] .home-question-field .button:focus-visible { background: #79c2cf; color: #10262b; }
html[data-theme="dark"] .home-question-field-mark > span { color: rgb(224 239 240 / 88%); }
html[data-theme="dark"] .home-question-field > ol { border-top-color: rgb(168 215 222 / 22%); }
html[data-theme="dark"] .home-question-field > ol li { color: #c4d1d3; }
html[data-theme="dark"] .home-question-field > ol li + li { border-left-color: rgb(168 215 222 / 18%); }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .home-question-field {
    background: radial-gradient(circle at 78% 27%, rgb(91 142 151 / 15%), transparent 30%), linear-gradient(135deg, #10191d, #0b1215 68%, #101a1e);
    border-color: #2b4146;
    box-shadow: 0 36px 88px rgb(0 0 0 / 34%);
  }
  :root:not([data-theme]) .home-question-field::before { background: linear-gradient(90deg, transparent 49.9%, rgb(168 215 222 / 10%) 50%, transparent 50.1%); }
  :root:not([data-theme]) .home-question-field-lines { opacity: .26; }
  :root:not([data-theme]) .home-question-field-lines i { border-color: #78a4aa; }
  :root:not([data-theme]) .home-question-field .eyebrow,
  :root:not([data-theme]) .home-question-field > ol span { color: #e9a486; }
  :root:not([data-theme]) .home-question-field h2 em { color: #79c2cf; }
  :root:not([data-theme]) .home-question-field-mark > p { color: #fffaf5; }
  :root:not([data-theme]) .home-question-field-editorial blockquote { color: #bdccce; }
  :root:not([data-theme]) .home-question-field-editorial blockquote em { color: #e9a486; }
  :root:not([data-theme]) .home-question-field .eyebrow span { color: #78959a; }
  :root:not([data-theme]) .home-question-field h2 { color: #f8f4ed; }
  :root:not([data-theme]) .home-question-field-copy > p:not(.eyebrow) { color: #adc0c3; }
  :root:not([data-theme]) .home-question-field .button { background: #fffaf5; color: #18252c; }
  :root:not([data-theme]) .home-question-field .button:hover,
  :root:not([data-theme]) .home-question-field .button:focus-visible { background: #79c2cf; color: #10262b; }
  :root:not([data-theme]) .home-question-field-mark > span { color: rgb(224 239 240 / 88%); }
  :root:not([data-theme]) .home-question-field > ol { border-top-color: rgb(168 215 222 / 22%); }
  :root:not([data-theme]) .home-question-field > ol li { color: #c4d1d3; }
  :root:not([data-theme]) .home-question-field > ol li + li { border-left-color: rgb(168 215 222 / 18%); }
}

.home-latest { justify-self: center; width: calc(100% - clamp(36px, 8vw, 148px)); }
.home-latest-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-article-card { background: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent)); border-radius: 22px 7px 22px 7px; box-shadow: 0 12px 30px rgb(23 25 28 / 5%); overflow: hidden; transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.home-article-card:hover, .home-article-card:focus-within { border-color: color-mix(in srgb, var(--color-accent) 38%, var(--color-line)); box-shadow: 0 24px 58px rgb(23 25 28 / 13%); transform: translateY(-5px); }
.home-article-image { aspect-ratio: 4 / 3; display: block; overflow: hidden; position: relative; }
.home-article-image img { height: 100%; object-fit: cover; transition: transform 600ms ease; width: 100%; }
.home-article-card:hover .home-article-image img, .home-article-card:focus-within .home-article-image img { transform: scale(1.04); }
.home-article-image span { background: rgb(24 21 20 / 75%); border-radius: 999px; color: #fff; font-size: .6rem; font-weight: 850; left: 17px; padding: 6px 8px; position: absolute; top: 16px; }
.home-article-card > div { padding: 24px; }
.home-article-meta { align-items: center; border-bottom: 1px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent)); color: var(--color-accent-dark); display: flex; flex-wrap: wrap; font-size: .72rem; font-weight: 850; gap: 7px; letter-spacing: .035em; margin: -2px 0 14px; padding-bottom: 11px; text-transform: uppercase; }
.home-article-card h3 { font-size: clamp(1.35rem, 2.4vw, 1.9rem); letter-spacing: -.035em; margin: 11px 0 13px; }
.home-article-card h3 a { color: var(--color-ink); text-decoration: none; transition: color 160ms ease; }
.home-article-card h3 a:hover, .home-article-card h3 a:focus-visible { color: var(--color-accent-dark); outline: 0; }
.home-article-card > div > p:not(.home-article-meta) { color: var(--color-muted); display: -webkit-box; font-size: .84rem; line-height: 1.65; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.home-article-link { color: var(--color-accent); font-size: .72rem; font-weight: 850; text-decoration: none; text-transform: uppercase; transition: color 160ms ease; }
.home-article-link:hover, .home-article-link:focus-visible, .home-article-card:hover .home-article-link, .home-article-card:focus-within .home-article-link { color: var(--color-button-accent-hover); outline: 0; }

.home-lacoste-feature { justify-self: center; width: calc(100% - clamp(0px, 4vw, 70px)); }
.home-lacoste-card { background: #102331; border-radius: 34px 9px 34px 9px; box-shadow: 0 32px 76px rgb(15 38 51 / 22%); color: #fff; min-height: clamp(650px, 64vw, 780px); overflow: hidden; position: relative; }
.home-lacoste-feature img { filter: saturate(.88) contrast(1.04); height: 100%; inset: 0; object-fit: cover; object-position: 52% center; position: absolute; transition: filter 700ms ease, transform 1.1s cubic-bezier(.2,.8,.2,1); width: 100%; }
.home-lacoste-shade { background: linear-gradient(90deg, rgb(8 24 34 / 94%) 0%, rgb(8 24 34 / 78%) 30%, rgb(8 24 34 / 20%) 58%, rgb(8 24 34 / 8%) 100%), linear-gradient(0deg, rgb(8 24 34 / 46%), transparent 48%); inset: 0; position: absolute; }
.home-lacoste-card::before { border: 1px solid rgb(255 255 255 / 34%); border-radius: 27px 7px 27px 7px; content: ""; inset: 18px; pointer-events: none; position: absolute; transition: border-color 200ms ease, inset 200ms ease; z-index: 2; }
.home-lacoste-card::after { border: 1px solid rgb(255 255 255 / 14%); border-radius: 50%; content: ""; height: 440px; position: absolute; right: -190px; top: -210px; width: 440px; }
.home-lacoste-label { color: rgb(255 255 255 / 62%); font-size: .62rem; font-weight: 850; left: clamp(40px, 6vw, 78px); letter-spacing: .14em; position: absolute; text-transform: uppercase; top: clamp(40px, 6vw, 68px); z-index: 3; }
.home-lacoste-copy { bottom: clamp(44px, 6vw, 70px); left: clamp(44px, 7vw, 92px); max-width: 590px; position: absolute; width: min(46%, 590px); z-index: 3; }
.home-lacoste-copy .eyebrow { color: #a8d7de; display: block; margin-bottom: 19px; }
.home-lacoste-title { color: #fff; display: block; font-size: clamp(3.1rem, 6.4vw, 6.3rem); font-weight: 850; letter-spacing: -.064em; line-height: .82; margin: 0; white-space: nowrap; }
.home-lacoste-title em { color: #a8d7de; font-family: var(--font-serif); font-weight: 400; }
.home-lacoste-description { color: rgb(255 255 255 / 78%); font-size: clamp(.9rem, 1.3vw, 1.02rem); line-height: 1.58; margin: 23px 0 0; max-width: 520px; }
.home-lacoste-copy blockquote { border-left: 2px solid #a8d7de; color: #fff; font-family: var(--font-serif); font-size: clamp(1rem, 1.7vw, 1.22rem); font-style: italic; line-height: 1.48; margin: 22px 0 0; padding: 2px 0 2px 18px; }
.home-lacoste-actions { border-top: 1px solid rgb(255 255 255 / 24%); display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding-top: 19px; }
.home-lacoste-actions a { align-items: center; background: #fff; border: 1px solid #fff; border-radius: 999px; color: #153445; display: inline-flex; font-size: .64rem; font-weight: 850; gap: 12px; justify-content: space-between; letter-spacing: .04em; min-height: 43px; padding: 0 16px; text-decoration: none; text-transform: uppercase; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease; }
.home-lacoste-actions a + a { background: transparent; border-color: rgb(255 255 255 / 34%); color: #fff; }
.home-lacoste-actions a:hover, .home-lacoste-actions a:focus-visible { background: #a8d7de; border-color: #a8d7de; color: #102b39; outline: 0; transform: translateY(-2px); }
.home-lacoste-actions a:focus-visible { box-shadow: 0 0 0 3px rgb(255 255 255 / 42%); }
.home-lacoste-index { color: rgb(255 255 255 / 46%); font-family: var(--font-serif); font-size: .66rem; font-style: italic; position: absolute; right: clamp(40px, 6vw, 78px); top: clamp(40px, 6vw, 68px); z-index: 3; }
.home-lacoste-card:hover img, .home-lacoste-card:focus-within img { filter: saturate(1) contrast(1.06); transform: scale(1.035); }
.home-lacoste-card:hover::before, .home-lacoste-card:focus-within::before { border-color: rgb(255 255 255 / 62%); inset: 14px; }

.home-manifesto { background: radial-gradient(circle at 85% 15%, rgb(255 230 205 / 18%), transparent 25%), linear-gradient(135deg, #ad382f, #8f2d27 62%, #5d211d); border-radius: 9px 30px 9px 30px; box-shadow: 0 26px 62px rgb(112 37 31 / 18%); color: #fffaf5; overflow: hidden; padding: clamp(40px, 8vw, 88px); position: relative; }
.home-manifesto::after { border: 1px solid rgb(255 255 255 / 15%); border-radius: 50%; content: ""; height: 360px; position: absolute; right: -145px; top: -170px; width: 360px; }
.home-manifesto > * { position: relative; z-index: 1; }
.home-manifesto .eyebrow { color: #f2b696; }
.home-manifesto h2 { color: inherit; font-family: var(--font-serif); font-size: clamp(2.5rem, 6vw, 5.8rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; margin: 20px 0 34px; max-width: 960px; }
.home-manifesto > div { align-items: end; display: flex; gap: 35px; justify-content: space-between; }
.home-manifesto > div p { color: rgb(255 255 255 / 72%); line-height: 1.7; margin: 0; max-width: 650px; }
.home-manifesto a { color: #fff; flex: 0 0 auto; font-size: .76rem; font-weight: 850; text-decoration: none; text-transform: uppercase; transition: color 160ms ease, transform 160ms ease; }
.home-manifesto a:hover, .home-manifesto a:focus-visible { color: #f2b696; outline: 0; transform: translateX(4px); }

@media (prefers-reduced-motion: reduce) { .home-video-play, .home-video-play > span, .home-lead-image img, .home-article-image img, .home-lacoste-feature img, .home-lacoste-actions a, .home-traces-track, .home-suspended-window { transition: none; } .home-trace.is-active .home-trace-reveal span, .home-suspended-thought.is-visible .home-suspended-steps p { animation: none; opacity: 1; transform: none; } .home-suspended-thought.is-visible .home-suspended-smoke i { animation: none; } }

@media (max-width: 860px) {
  .home-masthead, .home-lead-story { grid-template-columns: 1fr; }
  .home-masthead { padding-bottom: 76px; }
  .home-video-layout { grid-template-columns: 1fr; }
  .home-video-copy { max-width: 680px; }
  .home-video-original-layout { grid-template-columns: 1fr; }
  .home-paths, .home-latest { justify-self: stretch; width: 100%; }
  .home-paths { gap: 30px; grid-template-columns: 1fr; }
  .home-paths > .home-section-heading { border-bottom: 1px solid var(--color-line); border-right: 0; padding: 0 0 22px; }
  .home-daily-card { max-width: 520px; }
  .home-lead-image { border-radius: 0; min-height: 450px; }
  .home-lead-copy { border-radius: 0; height: auto; }
  .home-latest-grid { grid-template-columns: 1fr 1fr; }
  .home-traces-heading { align-items: flex-start; flex-direction: column; }
  .home-trace-copy { width: min(75%, 650px); }
  .home-suspended-thought { grid-template-columns: 1fr; }
  .home-suspended-object { min-height: 600px; }
  .home-suspended-window { height: 520px; width: 330px; }
  .home-suspended-integrated { grid-template-columns: 1fr; }
  .home-suspended-integrated-cosmos { min-height: 590px; }
  .home-suspended-integrated-orbits { width: min(78vw, 610px); }
  .home-question-ledger-grid { grid-template-columns: auto minmax(0, 1fr); }
  .home-question-ledger-notes { border-left: 0; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }
  .home-question-ledger-notes > div { border-top: 1px solid #b9aa91; }
  .home-question-field { grid-template-columns: 1fr; }
  .home-question-field-mark { min-height: 390px; }
  .home-article-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .home-lacoste-feature { width: 100%; }
  .home-lacoste-card { min-height: 800px; }
  .home-lacoste-shade { background: linear-gradient(0deg, rgb(8 24 34 / 96%) 0%, rgb(8 24 34 / 78%) 38%, rgb(8 24 34 / 10%) 72%); }
  .home-lacoste-copy { bottom: 62px; left: 52px; max-width: 560px; right: 52px; width: auto; }
}

@media (max-width: 600px) {
  .home-masthead { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 36px 24px 78px; }
  .home-masthead h1 { font-size: clamp(3.15rem, 17vw, 5rem); }
  .home-daily-card { padding: 25px 21px; }
  .home-video-feature { border-radius: 7px 24px 7px 24px; padding: 24px 18px 28px; }
  .home-video-heading { align-items: flex-start; gap: 18px; }
  .home-video-badges { max-width: 118px; }
  .home-video-media { border-radius: 18px 6px 18px 6px; }
  .home-video-play { padding: 18px; }
  .home-video-play > span { margin-right: 11px; }
  .home-video-copy h2 { font-size: clamp(2.8rem, 14vw, 4rem); }
  .home-video-portrait { aspect-ratio: 4 / 3; border-radius: 18px 6px 18px 6px; }
  .home-video-transcript-actions { align-items: stretch; flex-direction: column; }
  .home-video-transcript-actions button { justify-content: space-between; width: 100%; }
  .home-video-transcript summary { grid-template-columns: 1fr auto; }
  .home-video-transcript summary small { display: none; }
  .home-video-transcript-grid { padding-inline: 0; }
  .home-video-language-tabs button { flex: 1; padding-inline: 8px; }
  .home-video-transcript article + article { border: 0; padding: 0; }
  .home-video-transcript article > p:not(.eyebrow) { font-size: 1.08rem; line-height: 1.78; }
  .home-video-original > summary { min-height: 82px; }
  .home-video-original-layout { gap: 27px; }
  .home-lead-image { min-height: 340px; }
  .home-lead-image-portrait img { object-position: center 8%; }
  .home-lead-copy { padding: 32px 24px 38px; }
  .home-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .home-paths-grid, .home-latest-grid { grid-template-columns: 1fr; }
  .home-paths-grid { grid-template-areas: "bible" "prayer" "study" "growth"; }
  .home-path { border-radius: 0 !important; min-height: 220px; }
  .home-path:first-child { border-radius: 22px 7px 0 0 !important; }
  .home-path:last-child { border-radius: 0 0 22px 7px !important; }
  .home-article-card:last-child:nth-child(odd) { grid-column: auto; }
  .home-traces { padding-block: 58px 78px; }
  .home-traces-stage { padding-inline: 12px; }
  .home-traces-frame, .home-traces-frame::after { border-radius: 22px 6px 22px 6px; }
  .home-traces-frame::after { inset: 9px; }
  .home-trace { min-height: 690px; padding: 40px 28px 54px; }
  .home-trace::before { background: linear-gradient(0deg, rgb(7 10 13 / 96%), rgb(7 10 13 / 42%) 76%, rgb(7 10 13 / 12%)); }
  .home-trace-copy { min-height: 596px; width: 100%; }
  .home-trace h3 { font-size: clamp(2.75rem, 14vw, 4.2rem); }
  .home-trace-actions { align-items: stretch; flex-direction: column; }
  .home-trace-actions .button { justify-content: space-between; }
  .home-trace-index { display: none; }
  .home-traces-arrow { height: 48px; top: 38%; width: 48px; }
  .home-traces-arrow-prev { left: -2px; }
  .home-traces-arrow-next { right: -2px; }
  .home-traces-footer { padding-inline: 24px; }
  .home-suspended-thought { border-radius: 6px 24px 6px 24px; min-height: 0; padding: 56px 28px 80px; }
  .home-suspended-thought::after { border-radius: 4px 18px 4px 18px; inset: 9px; }
  .home-suspended-copy h2 { font-size: clamp(3rem, 15vw, 4.4rem); }
  .home-suspended-object { min-height: 520px; }
  .home-suspended-window { height: 430px; width: min(72vw, 280px); }
  .home-suspended-object > p { bottom: 12%; }
  .home-suspended-signature { bottom: 28px; right: 28px; }
  .home-suspended-integrated { border-radius: 6px 24px 6px 24px; min-height: 0; padding: 56px 28px 70px; }
  .home-suspended-integrated::after { border-radius: 4px 18px 4px 18px; inset: 9px; }
  .home-suspended-integrated-copy { padding-right: 0; }
  .home-suspended-integrated-copy h2 { font-size: clamp(3rem, 15vw, 4.4rem); }
  .home-suspended-integrated-cosmos { min-height: 480px; }
  .home-suspended-integrated-orbits { width: min(112vw, 500px); }
  .home-suspended-integrated-cosmos > p { transform: translateY(150px); }
  .home-suspended-integrated-cosmos > span { bottom: 5px; }
  .home-question-ledger { padding: 30px 24px; }
  .home-question-ledger-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .home-question-ledger-grid { gap: 26px 16px; grid-template-columns: 50px minmax(0, 1fr); padding: 48px 0; }
  .home-question-ledger-number { font-size: 7.5rem; }
  .home-question-ledger-copy h2 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .home-question-ledger-notes { grid-template-columns: 1fr; }
  .home-question-ledger-notes > div { padding-left: 0; }
  .home-question-ledger footer { align-items: flex-start; flex-direction: column; }
  .home-question-ledger footer p { text-align: left; }
  .home-question-field { border-radius: 24px 6px 24px 6px; padding: 52px 26px 34px; }
  .home-question-field h2 { font-size: clamp(3.1rem, 15vw, 4.6rem); }
  .home-question-field-mark { min-height: 330px; }
  .home-question-field-mark > span { font-size: 16rem; }
  .home-question-field > ol { grid-template-columns: 1fr; }
  .home-question-field > ol li + li { border-left: 0; border-top: 1px solid rgb(38 76 82 / 22%); margin-top: 16px; padding-left: 0; }
  .home-lacoste-card { border-radius: 24px 7px 24px 7px; min-height: 850px; }
  .home-lacoste-card::before { border-radius: 18px 5px 18px 5px; inset: 10px; }
  .home-lacoste-card:hover::before, .home-lacoste-card:focus-within::before { inset: 8px; }
  .home-lacoste-feature img { object-position: 52% center; }
  .home-lacoste-label { left: 28px; top: 30px; }
  .home-lacoste-copy { bottom: 40px; left: 28px; right: 28px; }
  .home-lacoste-title { font-size: clamp(2.9rem, 13vw, 4.1rem); }
  .home-lacoste-description { margin-top: 19px; }
  .home-lacoste-copy blockquote { font-size: 1rem; margin-top: 18px; }
  .home-lacoste-actions { align-items: stretch; flex-direction: column; margin-top: 19px; }
  .home-lacoste-actions a { width: 100%; }
  .home-lacoste-index { right: 28px; top: 30px; }
  .home-manifesto { padding: 38px 26px; }
  .home-manifesto > div { align-items: flex-start; flex-direction: column; }
}

.blog-archive { display: grid; gap: clamp(34px, 6vw, 70px); }
.blog-archive-hero { align-items: center; background: radial-gradient(circle at 82% 18%, rgb(232 161 126 / 28%), transparent 26%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border-radius: 34px 9px 34px 9px; color: #fffaf5; display: grid; gap: 35px clamp(40px, 8vw, 105px); grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); margin-inline: calc(50% - min(680px, 50vw - 20px)); min-height: 590px; overflow: hidden; padding: clamp(38px, 7vw, 86px); position: relative; }
.blog-archive-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 410px; position: absolute; right: -155px; top: -190px; width: 410px; }
.blog-archive-hero .eyebrow { color: #e9a486; }
.blog-archive-hero h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.6rem); letter-spacing: -.062em; line-height: .9; margin: 22px 0 30px; }
.blog-archive-hero h1 em { color: #e9a486; font-family: var(--font-serif); font-weight: 400; }
.blog-archive-copy > p:last-child { color: rgb(255 250 245 / 68%); font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.7; max-width: 650px; }
.blog-archive-count { align-items: center; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 16%); border-radius: 50%; display: flex; flex-direction: column; justify-content: center; justify-self: center; max-width: 270px; position: relative; width: 100%; z-index: 1; }
.blog-archive-count strong { color: #e9a486; font-size: clamp(3.8rem, 8vw, 7rem); letter-spacing: -.08em; line-height: .8; }
.blog-archive-count span { color: rgb(255 255 255 / 56%); font-size: .68rem; margin-top: 18px; text-align: center; text-transform: uppercase; }
.blog-topic-links { bottom: 28px; display: flex; flex-wrap: wrap; gap: 8px 18px; grid-column: 1 / -1; left: clamp(38px, 7vw, 86px); position: absolute; }
.blog-topic-links a { color: rgb(255 255 255 / 62%); font-size: .68rem; font-weight: 750; text-decoration: none; }
.blog-topic-links a span { color: #e9a486; font-size: .58rem; margin-left: 4px; }
.blog-topic-links a:hover, .blog-topic-links a:focus-visible { color: #fff; outline: 0; }

.blog-archive-toolbar { align-items: center; backdrop-filter: blur(16px); background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: 1px solid var(--color-line); border-radius: 20px 7px 20px 7px; box-shadow: 0 15px 40px rgb(23 25 28 / 7%); display: flex; gap: 30px; justify-content: space-between; padding: 18px 22px; width: 100%; }
.blog-archive-toolbar .eyebrow { font-size: .6rem; margin: 0 0 4px; }
.blog-archive-toolbar > div:first-child > strong { font-size: 1.12rem; }
.blog-archive-toolbar > div:first-child > strong span { color: var(--color-muted); font-size: .72rem; font-weight: 600; }
.blog-archive-toolbar .archive-controls {
  gap: 16px;
  margin: 0;
}
.blog-archive-toolbar .display-control { gap: 12px; margin-left: 0; }
.blog-archive-toolbar .sort-trigger { min-height: 38px; padding-inline: 17px; }
.blog-archive-toolbar .segmented-control { flex: 0 0 auto; }
.blog-archive-layout { margin-top: 0; }
.blog-archive-layout .blog-archive-toolbar { grid-column: 1 / -1; }
.blog-archive-layout .content-row, .blog-archive-layout .content-tile { border-radius: 22px 7px 22px 7px; overflow: hidden; }
.blog-archive-layout .content-row-image { overflow: hidden; }
.blog-archive-layout .content-row-image img { transition: filter 260ms ease, transform 500ms ease; }
.blog-archive-layout article:hover .content-row-image img,
.blog-archive-layout article:focus-within .content-row-image img { filter: saturate(1.06) contrast(1.02); transform: scale(1.04); }
.blog-archive-layout .read-more-link span { color: var(--color-accent); margin-left: 6px; }
.blog-category-panel .eyebrow { margin-bottom: 18px; }

@media (max-width: 760px) {
  .blog-archive-hero { grid-template-columns: 1fr; padding-bottom: 95px; }
  .blog-archive-count { max-width: 205px; }
  .blog-topic-links { bottom: 25px; left: 25px; max-height: 42px; overflow: hidden; right: 25px; }
  .blog-archive-toolbar { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .blog-archive-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 35px 24px 100px; }
  .blog-archive-hero h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .blog-archive-toolbar .archive-controls { align-items: stretch; flex-direction: column; width: 100%; }
  .blog-archive-toolbar .sort-trigger, .blog-archive-toolbar .display-control { width: 100%; }
  .blog-archive-toolbar .display-control { justify-content: space-between; }
}

.contributors-directory { display: grid; gap: clamp(44px, 8vw, 92px); }
.contributors-hero { align-items: center; background: radial-gradient(circle at 82% 18%, rgb(232 161 126 / 28%), transparent 26%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border-radius: 34px 9px 34px 9px; color: #fffaf5; display: grid; gap: clamp(38px, 8vw, 105px); grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); min-height: 610px; overflow: hidden; padding: clamp(38px, 7vw, 86px); position: relative; }
.contributors-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 410px; position: absolute; right: -155px; top: -190px; width: 410px; }
.contributors-hero .eyebrow { color: #e9a486; }
.contributors-hero h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.6rem); letter-spacing: -.062em; line-height: .9; margin: 22px 0 30px; }
.contributors-hero h1 em { color: #e9a486; font-family: var(--font-serif); font-weight: 400; }
.contributors-hero > div:first-child > p:last-child { color: rgb(255 250 245 / 68%); font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.7; max-width: 650px; }
.contributors-count { align-items: center; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 16%); border-radius: 50%; display: flex; flex-direction: column; justify-content: center; justify-self: center; max-width: 270px; position: relative; width: 100%; z-index: 1; }
.contributors-count strong { color: #e9a486; font-size: clamp(3.8rem, 8vw, 7rem); letter-spacing: -.08em; line-height: .8; }
.contributors-count span { color: rgb(255 255 255 / 56%); font-size: .68rem; margin-top: 18px; text-align: center; text-transform: uppercase; }
.contributors-hero-note { align-items: center; bottom: 28px; color: rgb(255 255 255 / 47%); display: flex; font-size: .68rem; gap: 10px; left: clamp(38px, 7vw, 86px); margin: 0; position: absolute; }
.contributors-hero-note i { background: #e9a486; border-radius: 50%; height: 6px; width: 6px; }
.contributors-tools { align-items: center; backdrop-filter: blur(16px); background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 12%); border-radius: 22px 7px 22px 7px; box-shadow: 0 18px 44px rgb(23 25 28 / 8%); display: flex; gap: 30px; justify-content: space-between; padding: 18px 22px; }
.contributors-tools .eyebrow { font-size: .6rem; margin: 0 0 3px; }
.contributors-tools > div strong { font-size: 1.05rem; }
.contributors-search { align-items: center; background: color-mix(in srgb, var(--color-paper) 62%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line), transparent 8%); border-radius: 999px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; max-width: 460px; padding: 5px 7px 5px 16px; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; width: 100%; }
.contributors-search svg { fill: none; height: 18px; stroke: var(--color-muted); stroke-linecap: round; stroke-width: 2; width: 18px; }
.contributors-search input { background: transparent; border: 0; color: var(--color-ink); font: inherit; min-height: 42px; min-width: 0; padding: 0 11px; width: 100%; }
.contributors-search input:focus { outline: 0; }
.contributors-search:focus-within { background: var(--color-paper); border-color: var(--color-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 13%, transparent); }
.contributors-search:focus-within svg { stroke: var(--color-accent-dark); }
.contributors-search button { align-items: center; background: var(--color-ink); border: 0; border-radius: 50%; color: var(--color-paper); cursor: pointer; display: flex; font-size: 1.1rem; height: 32px; justify-content: center; transition: background-color 150ms ease, color 150ms ease, transform 100ms ease; width: 32px; }
.contributors-search button:hover, .contributors-search button:focus-visible { background: var(--color-accent); color: #fff; outline: 0; }
.contributors-search button:active { transform: scale(.92); }
.contributors-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.contributor-directory-card { background: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-line), transparent 4%); border-radius: 24px 7px 24px 7px; box-shadow: 0 12px 30px rgb(23 25 28 / 5%); overflow: hidden; position: relative; transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.contributor-directory-card::after { background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent), transparent 88%), transparent 54%); content: ""; inset: 0; opacity: 0; pointer-events: none; position: absolute; transition: opacity 200ms ease; z-index: 1; }
.contributor-directory-card:hover, .contributor-directory-card:focus-within { border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 48%); box-shadow: 0 26px 60px rgb(23 25 28 / 14%); transform: translateY(-6px); }
.contributor-directory-card:hover::after, .contributor-directory-card:focus-within::after { opacity: 1; }
.contributor-directory-card[hidden] { display: none; }
.contributor-card-link { inset: 0; position: absolute; z-index: 3; }
.contributor-card-link:focus-visible { border-radius: inherit; box-shadow: inset 0 0 0 3px var(--color-accent); outline: 0; }
.contributor-directory-portrait { align-items: center; aspect-ratio: 4 / 3; background: linear-gradient(145deg, #91aeb4, #4d6a70); display: flex; justify-content: center; overflow: hidden; position: relative; }
.contributor-tone-2 .contributor-directory-portrait { background: linear-gradient(145deg, #d5a27e, #8e4938); }
.contributor-tone-3 .contributor-directory-portrait { background: linear-gradient(145deg, #b8b09c, #63594d); }
.contributor-tone-4 .contributor-directory-portrait { background: linear-gradient(145deg, #b0a8bd, #62566e); }
.contributor-tone-5 .contributor-directory-portrait { background: linear-gradient(145deg, #9eb7a4, #536b59); }
.contributor-directory-portrait img { height: 100%; object-fit: cover; transition: filter 250ms ease, transform 500ms ease; width: 100%; }
.contributor-directory-card:hover .contributor-directory-portrait img { filter: saturate(1.04); transform: scale(1.035); }
.contributor-directory-portrait > span { color: rgb(255 255 255 / 82%); font-size: clamp(3.5rem, 7vw, 6rem); font-weight: 850; letter-spacing: -.08em; position: relative; z-index: 1; }
.contributor-directory-portrait > i { border: 1px solid rgb(255 255 255 / 23%); border-radius: 50%; height: 190px; position: absolute; right: -55px; top: -70px; width: 190px; }
.contributor-directory-portrait > i:nth-of-type(2) { height: 110px; right: -12px; top: -30px; width: 110px; }
.contributor-directory-portrait > small { background: rgb(25 22 21 / 68%); border-radius: 999px; color: #fff; font-size: .58rem; font-weight: 850; left: 16px; padding: 6px 8px; position: absolute; top: 15px; z-index: 1; }
.contributor-directory-copy { padding: 25px; }
.contributor-directory-copy .eyebrow { font-size: .62rem; margin-bottom: 9px; }
.contributor-directory-copy h2 { font-size: clamp(1.45rem, 2.7vw, 2rem); letter-spacing: -.04em; margin: 0 0 13px; }
.contributor-directory-copy > p:not(.eyebrow) { color: var(--color-muted); display: -webkit-box; font-size: .8rem; line-height: 1.62; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.contributor-directory-copy footer { align-items: center; border-top: 1px solid var(--color-line); display: flex; justify-content: space-between; margin-top: 20px; padding-top: 15px; }
.contributor-directory-copy footer span { color: var(--color-muted); font-size: .65rem; text-transform: uppercase; }
.contributor-directory-copy footer b { color: var(--color-accent); font-size: 1.1rem; }
.contributors-no-results { align-items: center; border: 1px dashed var(--color-line); border-radius: 22px 7px 22px 7px; display: flex; flex-direction: column; min-height: 300px; justify-content: center; padding: 35px; text-align: center; }
.contributors-no-results[hidden] { display: none; }
.contributors-no-results > span { color: var(--color-accent); font-size: 5rem; font-weight: 100; line-height: 1; }
.contributors-no-results p { color: var(--color-muted); }
.contributors-empty {
  align-items: center;
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--color-accent), transparent 76%), transparent 12rem),
    color-mix(in srgb, var(--color-soft-blue) 55%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 14%);
  border-radius: 28px 8px 28px 8px;
  box-shadow: 0 20px 48px rgb(23 25 28 / 8%);
  display: grid;
  min-height: 320px;
  padding: clamp(32px, 6vw, 64px);
}

.contributors-empty h2 {
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  letter-spacing: -.05em;
  line-height: 1;
  margin: 12px 0 0;
}
.contributors-invitation { align-items: center; background: radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--color-accent), transparent 78%), transparent 13rem), color-mix(in srgb, var(--color-soft-blue) 58%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 15%); border-radius: 28px 8px 28px 8px; box-shadow: 0 20px 48px rgb(23 25 28 / 8%); display: grid; gap: 28px; grid-template-columns: 1fr 1fr auto; overflow: hidden; padding: clamp(30px, 5vw, 55px); position: relative; }
.contributors-invitation::after { border: 1px solid color-mix(in srgb, var(--color-accent), transparent 72%); border-radius: 50%; content: ""; height: 210px; position: absolute; right: -76px; top: -92px; width: 210px; }
.contributors-invitation h2 { font-size: clamp(2rem, 3.8vw, 3.3rem); letter-spacing: -.045em; line-height: 1; margin: 10px 0 0; }
.contributors-invitation > p { color: var(--color-muted); line-height: 1.65; }
.contributors-invitation > * { position: relative; z-index: 1; }
.contributors-invitation .button { justify-self: end; }

@media (max-width: 860px) {
  .contributors-hero { grid-template-columns: 1fr; padding-bottom: 75px; }
  .contributors-count { max-width: 210px; }
  .contributors-grid { grid-template-columns: repeat(2, 1fr); }
  .contributors-invitation { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .contributors-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 35px 24px 78px; }
  .contributors-hero h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .contributors-tools { align-items: stretch; flex-direction: column; }
  .contributors-search { max-width: none; }
  .contributors-grid { grid-template-columns: 1fr; }
  .contributors-invitation { padding: 30px 24px; }
}

.global-search-page { display: grid; gap: clamp(34px, 6vw, 72px); min-width: 0; }
.global-search-hero { align-items: center; background: radial-gradient(circle at 82% 18%, rgb(232 161 126 / 28%), transparent 26%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border-radius: 34px 9px 34px 9px; color: #fffaf5; display: grid; gap: clamp(38px, 8vw, 105px); grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); min-height: 540px; overflow: hidden; padding: clamp(38px, 7vw, 86px); position: relative; }
.global-search-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 410px; position: absolute; right: -155px; top: -190px; width: 410px; }
.global-search-hero .eyebrow { color: #e9a486; }
.global-search-hero h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.5rem); letter-spacing: -.062em; line-height: .9; margin: 22px 0; }
.global-search-hero-copy > p:not(.eyebrow) { color: rgb(255 250 245 / 68%); line-height: 1.7; max-width: 610px; }
.global-search-form { background: #fffaf5; border: 2px solid transparent; border-radius: 999px; display: grid; gap: 0; grid-template-columns: minmax(0, 1fr) auto; margin-top: 30px; max-width: 650px; min-width: 0; padding: 5px; width: 100%; }
.global-search-form:focus-within { border-color: #e9a486; box-shadow: 0 0 0 5px rgb(233 164 134 / 15%); }
.global-search-form input { background: transparent; border: 0; color: #261d1a; font: inherit; min-height: 50px; min-width: 0; padding: 0 19px; width: 100%; }
.global-search-form input:focus { outline: 0; }
.global-search-form .button { background: #8f3029; color: #fff; min-height: 50px; }
.global-search-form .button:hover, .global-search-form .button:focus-visible { background: #572018; }
.global-search-symbol { aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 16%); border-radius: 50%; justify-self: center; max-width: 270px; position: relative; width: 100%; z-index: 1; }
.global-search-symbol > span { border: 12px solid #e9a486; border-radius: 50%; height: 40%; left: 42%; position: absolute; top: 40%; transform: translate(-50%, -50%); width: 40%; }
.global-search-symbol > span::after { background: #e9a486; border-radius: 999px; content: ""; height: 12px; left: 76%; position: absolute; top: 80%; transform: rotate(45deg); transform-origin: left center; width: 55%; }
.global-search-symbol i { border: 1px solid rgb(255 255 255 / 12%); border-radius: 50%; height: 72%; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 72%; }
.global-search-symbol i:last-child { height: 112%; width: 112%; }
.global-search-note { align-items: center; bottom: 27px; color: rgb(255 255 255 / 45%); display: flex; font-size: .66rem; gap: 9px; left: clamp(38px, 7vw, 86px); margin: 0; position: absolute; }
.global-search-note span { background: #e9a486; border-radius: 50%; height: 6px; width: 6px; }
.global-search-start { border-top: 2px solid color-mix(in srgb, var(--color-line) 76%, var(--color-accent)); padding-top: 28px; }
.global-search-start > div { background: color-mix(in srgb, var(--color-line) 80%, var(--color-accent)); border: 1px solid color-mix(in srgb, var(--color-line) 80%, var(--color-accent)); border-radius: 26px 8px 26px 8px; display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); margin-top: 20px; overflow: hidden; }
.global-search-start a { background: var(--color-surface); border: 0; color: var(--color-ink); display: grid; min-height: 210px; padding: 26px; position: relative; text-decoration: none; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.global-search-start a:first-child { border-radius: 22px 0 0 7px; }
.global-search-start a:last-child { border-radius: 0 7px 22px 0; }
.global-search-start a::after { color: var(--color-accent); content: "→"; font-size: 1.15rem; position: absolute; right: 22px; top: 22px; transition: color 160ms ease, transform 160ms ease; }
.global-search-start a:hover, .global-search-start a:focus-visible { background: var(--color-ink); color: var(--color-paper); outline: 0; transform: translateY(0); }
.global-search-start a:active { background: #111315; transform: scale(.985); }
.global-search-start a span { color: var(--color-accent); font-size: .62rem; font-weight: 850; }
.global-search-start a strong { align-self: end; font-size: 1.2rem; }
.global-search-start a small { color: var(--color-muted); margin-top: 6px; transition: color 160ms ease; }
.global-search-start a:hover::after, .global-search-start a:focus-visible::after { color: #f2b696; transform: translateX(4px); }
.global-search-start a:hover span, .global-search-start a:focus-visible span { color: #f2b696; }
.global-search-start a:hover small, .global-search-start a:focus-visible small { color: #fffaf5; }
.global-search-empty { align-items: center; background: radial-gradient(circle at 16% 18%, color-mix(in srgb, var(--color-accent), transparent 78%), transparent 13rem), color-mix(in srgb, var(--color-soft-blue) 52%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 14%); border-radius: 28px 8px 28px 8px; box-shadow: 0 20px 48px rgb(23 25 28 / 8%); display: grid; gap: clamp(35px, 7vw, 90px); grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); min-height: 430px; min-width: 0; overflow: hidden; padding: clamp(32px, 7vw, 72px); position: relative; }
.global-search-empty::after { border: 1px solid color-mix(in srgb, var(--color-accent), transparent 72%); border-radius: 50%; content: ""; height: 240px; position: absolute; right: -90px; top: -110px; width: 240px; }
.global-search-empty > span { color: var(--color-accent); font-size: clamp(7rem, 15vw, 13rem); font-weight: 100; justify-self: center; line-height: .7; }
.global-search-empty h2 { font-size: clamp(2.2rem, 5vw, 4.4rem); letter-spacing: -.05em; margin: 12px 0 18px; overflow-wrap: anywhere; }
.global-search-empty div > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.7; }
.global-search-empty .button { margin-top: 15px; }
.global-search-empty > * { position: relative; z-index: 1; }
.global-search-toolbar {
  align-items: center;
  backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--color-surface) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 22px 7px 22px 7px;
  box-shadow: 0 18px 44px rgb(23 25 28 / 8%);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin: 0;
  padding: 18px 22px;
}

.global-search-toolbar .meta {
  color: var(--color-ink);
  font-weight: 780;
  margin: 0;
}

.global-search-toolbar .archive-controls {
  background: color-mix(in srgb, var(--color-paper) 72%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 18px 6px 18px 6px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%);
  gap: 24px;
  padding: 8px;
}

.global-search-toolbar .display-control {
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 34%);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 18%);
  border-left-color: color-mix(in srgb, var(--color-line), var(--color-accent) 16%);
  border-radius: 14px 5px 14px 5px;
  gap: 14px;
  margin-left: 0;
  padding: 6px 7px 6px 14px;
}

.global-search-toolbar .sort-trigger {
  min-height: 38px;
  padding-inline: 17px;
}

.global-search-toolbar .segmented-control {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 54%);
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .global-search-hero { grid-template-columns: 1fr; padding-bottom: 78px; }
  .global-search-symbol { max-width: 205px; }
  .global-search-start > div { grid-template-columns: repeat(2, 1fr); }
  .global-search-start a { border-radius: 0 !important; }
  .global-search-empty { grid-template-columns: 1fr; }
  .global-search-toolbar { align-items: flex-start; flex-direction: column; }
  .global-search-toolbar .archive-controls { align-items: stretch; border-radius: 18px 6px 18px 6px; flex-direction: column; width: 100%; }
  .global-search-toolbar .display-control { border-left: 1px solid color-mix(in srgb, var(--color-line), transparent 18%); border-top: 1px solid color-mix(in srgb, var(--color-line), transparent 18%); justify-content: space-between; padding: 8px 8px 8px 14px; }
}

@media (max-width: 560px) {
  .global-search-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 35px 24px 80px; }
  .global-search-hero h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .global-search-form { border-radius: 18px 6px 18px 6px; grid-template-columns: 1fr; padding: 6px; }
  .global-search-form .button { justify-self: stretch; width: 100%; }
  .global-search-start > div { grid-template-columns: 1fr; }
  .global-search-start a { min-height: 160px; }
}

.site-error { align-items: center; background: radial-gradient(circle at 15% 18%, rgb(233 167 125 / 30%), transparent 27%), linear-gradient(135deg, #171514, #2b211e 72%, #171514); border: 1px solid rgb(255 255 255 / 10%); border-radius: 34px 9px 34px 9px; box-shadow: 0 32px 72px rgb(23 18 16 / 16%); color: #fffaf5; display: grid; gap: clamp(40px, 8vw, 100px); grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); min-height: 660px; overflow: hidden; padding: clamp(40px, 8vw, 90px); position: relative; }
.site-error::after { border: 1px solid rgb(255 255 255 / 8%); border-radius: 50%; content: ""; height: 420px; position: absolute; right: -160px; top: -195px; width: 420px; }
.site-error-code { align-items: center; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 17%); border-radius: 50%; display: flex; justify-content: center; justify-self: center; max-width: 300px; position: relative; width: 100%; }
.site-error-code span { color: #e9a486; font-size: clamp(4rem, 9vw, 8rem); font-weight: 880; letter-spacing: -.1em; line-height: 1; }
.site-error-code i { border: 9px solid #fffaf5; border-radius: 50%; height: 27%; margin: 0 6px; position: relative; width: 27%; }
.site-error-code i::after { background: #fffaf5; border-radius: 999px; content: ""; height: 9px; left: 72%; position: absolute; top: 80%; transform: rotate(45deg); transform-origin: left; width: 45%; }
.site-error-symbol { align-items: center; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 17%); border-radius: 50%; display: flex; justify-content: center; justify-self: center; max-width: 280px; width: 100%; }
.site-error-symbol span { color: #e9a486; font-family: var(--font-serif); font-size: clamp(4.5rem, 10vw, 9rem); line-height: 1; }
.site-error-500 .site-error-symbol span { letter-spacing: .04em; transform: translateY(-18%); }
.site-error-copy { position: relative; z-index: 1; }
.site-error-copy .eyebrow { color: #e9a486; }
.site-error-copy h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.3rem); letter-spacing: -.062em; line-height: .92; margin: 20px 0 28px; }
.site-error-copy > p:not(.eyebrow):not(.site-error-reassurance) { color: rgb(255 255 255 / 66%); font-size: 1.02rem; line-height: 1.75; max-width: 650px; }
.site-error-search { background: #fffaf5; border: 2px solid transparent; border-radius: 999px; box-shadow: 0 18px 38px rgb(0 0 0 / 14%); display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: 30px; max-width: 620px; padding: 5px; transition: border-color 160ms ease, box-shadow 160ms ease; }
.site-error-search input { background: transparent; border: 0; color: #271e1b; font: inherit; min-height: 50px; min-width: 0; padding: 0 18px; }
.site-error-search input:focus { outline: 0; }
.site-error-search:focus-within { border-color: #e9a486; box-shadow: 0 0 0 5px rgb(233 164 134 / 18%), 0 18px 38px rgb(0 0 0 / 14%); }
.site-error-search button { background: #8f3029; border: 0; border-radius: 999px; color: #fff; cursor: pointer; font: inherit; font-size: .76rem; font-weight: 850; padding: 0 20px; transition: background-color 150ms ease, transform 100ms ease; }
.site-error-search button:hover, .site-error-search button:focus-visible { background: #572018; outline: 0; transform: translateY(-1px); }
.site-error-search button:active { transform: translateY(0) scale(.96); }
.site-error-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 26px; }
.site-error-links a, .site-error-actions .text-link { color: rgb(255 255 255 / 74%); font-size: .73rem; font-weight: 800; text-decoration: none; }
.site-error-links a:hover, .site-error-links a:focus-visible, .site-error-actions .text-link:hover, .site-error-actions .text-link:focus-visible { color: #e9a486; outline: 0; }
.site-error-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 25px; margin-top: 30px; }
.site-error-actions .button { background: #fffaf5; color: #712921; }
.site-error-actions .button:hover, .site-error-actions .button:focus-visible { background: #e9a486; color: #281713; }
.site-error-reassurance { border-top: 1px solid rgb(255 255 255 / 15%); color: rgb(255 255 255 / 47%); font-size: .68rem; margin-top: 32px; padding-top: 20px; }
.site-error-reassurance span { color: #e9a486; margin-right: 7px; }

.verse-api-page { display: grid; gap: clamp(58px, 9vw, 110px); }
.verse-api-hero { align-items: center; background: radial-gradient(circle at 82% 18%, rgb(101 151 162 / 35%), transparent 28%), linear-gradient(135deg, #171514, #20282b 72%, #171514); border: 1px solid rgb(255 255 255 / 10%); border-radius: 34px 9px 34px 9px; box-shadow: 0 34px 80px rgb(19 26 28 / 15%); color: #fffaf5; display: grid; gap: clamp(38px, 8vw, 105px); grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); min-height: 650px; overflow: hidden; padding: clamp(38px, 7vw, 86px); position: relative; }
.verse-api-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 430px; position: absolute; right: -160px; top: -185px; width: 430px; }
.verse-api-hero .eyebrow { color: #9ecbd3; }
.verse-api-hero h1 { color: inherit; font-size: clamp(3rem, 7vw, 6.6rem); letter-spacing: -.062em; line-height: .9; margin: 22px 0 30px; }
.verse-api-hero h1 em { color: #9ecbd3; font-family: var(--font-serif); font-weight: 400; }
.verse-api-hero > div:first-child > p:not(.eyebrow) { color: rgb(255 250 245 / 68%); line-height: 1.7; max-width: 650px; }
.verse-api-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.verse-api-hero-actions .button { background: #fffaf5; box-shadow: 0 16px 34px rgb(255 250 245 / 10%); color: #234951; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; }
.verse-api-hero-actions .button:hover, .verse-api-hero-actions .button:focus-visible { background: #9ecbd3; color: #152d32; transform: translateY(-2px); }
.verse-api-hero-actions .button:active { transform: translateY(1px) scale(.98); }
.verse-api-hero-actions > a:not(.button) { color: #fff; font-size: .75rem; font-weight: 820; text-decoration: none; transition: color 160ms ease; }
.verse-api-hero-actions > a:not(.button):hover, .verse-api-hero-actions > a:not(.button):focus-visible { color: #9ecbd3; outline: 0; }
.verse-api-hero-actions > a:not(.button) span { display: inline-block; margin-left: 5px; transition: transform 160ms ease; }
.verse-api-hero-actions > a:not(.button):hover span, .verse-api-hero-actions > a:not(.button):focus-visible span { transform: translate(2px, -2px); }
.verse-api-window { background: #f7f3ef; border: 1px solid rgb(255 255 255 / 55%); border-radius: 18px 5px 18px 5px; box-shadow: 18px 28px 65px rgb(0 0 0 / 32%); color: #2b2522; justify-self: center; max-width: 350px; min-height: 260px; padding: 28px; position: relative; transform: rotate(2deg); transition: transform 220ms ease, box-shadow 220ms ease; width: 100%; z-index: 1; }
.verse-api-hero:hover .verse-api-window { box-shadow: 22px 34px 75px rgb(0 0 0 / 36%); transform: rotate(0deg) translateY(-4px); }
.verse-api-window > span { color: #8e332c; font-size: .72rem; font-weight: 900; }
.verse-api-window > i { background: #d7ccc5; display: block; height: 1px; margin: 19px 0 30px; }
.verse-api-window > strong { font-family: var(--font-serif); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 400; line-height: 1.25; }
.verse-api-window > small { background: #244b53; border-radius: 999px; color: #fff; padding: 4px 7px; position: absolute; right: 25px; top: 24px; }
.verse-api-window > b { bottom: 23px; color: #8e332c; font-size: .68rem; position: absolute; right: 25px; }
.verse-api-status { align-items: center; bottom: 27px; color: rgb(255 255 255 / 45%); display: flex; font-size: .66rem; gap: 9px; left: clamp(38px, 7vw, 86px); margin: 0; position: absolute; }
.verse-api-status i { background: #75c49a; border-radius: 50%; box-shadow: 0 0 0 5px rgb(117 196 154 / 13%); height: 6px; width: 6px; }
.verse-api-demo { align-items: center; background: color-mix(in srgb, var(--color-soft-blue) 58%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line) 78%, #5f9aa5); border-radius: 26px 8px 26px 8px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 45%), 0 18px 44px rgb(23 25 28 / 7%); display: grid; gap: clamp(35px, 8vw, 100px); grid-template-columns: .8fr 1.2fr; padding: clamp(30px, 6vw, 65px); }
.verse-api-demo h2 { font-size: clamp(2.1rem, 4vw, 3.6rem); letter-spacing: -.05em; margin: 12px 0 18px; }
.verse-api-demo > div:first-child > p:last-child { color: var(--color-muted); line-height: 1.65; }
.verse-api-demo-text { border-top: 1px solid var(--color-line); }
.verse-api-demo-text p { border-bottom: 1px solid var(--color-line); font-family: var(--font-serif); font-size: 1.08rem; margin: 0; padding: 19px 12px; }
.verse-api-docs { align-items: start; display: grid; gap: clamp(35px, 7vw, 90px); grid-template-columns: 240px minmax(0, 1fr); scroll-margin-top: 100px; }
.verse-api-docs-nav { position: sticky; top: 105px; }
.verse-api-docs-nav nav { border-top: 1px solid var(--color-line); display: grid; margin-top: 20px; }
.verse-api-docs-nav a { border-bottom: 1px solid var(--color-line); border-radius: 10px 4px 10px 4px; color: var(--color-muted); font-size: .72rem; font-weight: 800; padding: 14px 8px; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; }
.verse-api-docs-nav a:hover, .verse-api-docs-nav a:focus-visible { background: color-mix(in srgb, var(--color-soft-blue) 38%, transparent); border-color: color-mix(in srgb, var(--color-accent) 26%, var(--color-line)); color: var(--color-accent-dark); outline: 0; transform: translateX(4px); }
.verse-api-docs-nav a.is-active, .verse-api-docs-nav a[aria-current="true"] { background: color-mix(in srgb, var(--color-soft-blue) 55%, var(--color-surface)); border-color: color-mix(in srgb, #5f9aa5 45%, var(--color-line)); box-shadow: inset 3px 0 #5f9aa5; color: var(--color-ink); }
.verse-api-docs-content { display: grid; gap: clamp(55px, 8vw, 95px); grid-template-columns: minmax(0, 1fr); min-width: 0; width: 100%; }
.verse-api-docs-content > section { max-width: 100%; min-width: 0; scroll-margin-top: 105px; }
.verse-api-docs-content h2 { font-size: clamp(2.3rem, 5vw, 4.5rem); letter-spacing: -.055em; margin: 12px 0 22px; }
.verse-api-docs-content section > p:not(.eyebrow) { color: var(--color-muted); line-height: 1.75; }
.verse-api-page .api-code { background: linear-gradient(135deg, #161a1c, #1e292d); border: 1px solid #30383c; border-radius: 14px 5px 14px 5px; box-shadow: 0 18px 40px rgb(16 24 27 / 10%); color: #dce9e9; margin: 24px 0; overflow-x: auto; padding: 22px; }
.verse-api-page .api-code code { color: inherit; font-size: .78rem; line-height: 1.7; }
.api-code-response { border-left: 4px solid #79aeb8 !important; }
.verse-api-help { border-left: 3px solid var(--color-accent); padding-left: 18px; }
.verse-api-parameters { border-top: 1px solid var(--color-line); margin: 28px 0 0; }
.verse-api-parameters > div { align-items: start; border-bottom: 1px solid var(--color-line); border-radius: 12px 4px 12px 4px; display: grid; gap: 18px; grid-template-columns: 100px 1fr auto; padding: 18px 10px; transition: background-color 160ms ease, border-color 160ms ease; }
.verse-api-parameters > div:hover { background: color-mix(in srgb, var(--color-soft-blue) 34%, transparent); border-color: color-mix(in srgb, var(--color-accent) 24%, var(--color-line)); }
.verse-api-parameters dt { color: var(--color-accent); font-family: monospace; font-weight: 850; }
.verse-api-parameters dd { color: var(--color-muted); line-height: 1.55; margin: 0; }
.verse-api-parameters span { background: var(--color-surface); border: 1px solid var(--color-line); border-radius: 999px; color: var(--color-muted); font-size: .58rem; padding: 5px 8px; text-transform: uppercase; }
.verse-api-postman { align-items: center; background: color-mix(in srgb, var(--color-soft-blue) 55%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-line) 78%, #5f9aa5); border-radius: 25px 7px 25px 7px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 45%), 0 18px 44px rgb(23 25 28 / 7%); display: grid; gap: 30px; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; padding: clamp(28px, 5vw, 52px); }
.verse-api-postman h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
.verse-api-postman > div { min-width: 0; }
.verse-api-postman > div:last-child { display: grid; gap: 10px; min-width: 0; width: 100%; }
.verse-api-postman .button { max-width: 100%; min-width: 0; overflow-wrap: anywhere; white-space: normal; width: 100%; }

@media (max-width: 800px) { .site-error { grid-template-columns: 1fr; } .site-error-code, .site-error-symbol { max-width: 210px; } }
@media (max-width: 800px) { .verse-api-hero, .verse-api-demo, .verse-api-docs, .verse-api-postman { grid-template-columns: minmax(0, 1fr); } .verse-api-hero { padding-bottom: 76px; } .verse-api-docs-nav { position: static; } }
@media (max-width: 560px) {
  .site-error { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 35px 24px; }
  .site-error-copy h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .site-error-search { border-radius: 17px 5px 17px 5px; grid-template-columns: 1fr; }
  .site-error-search button { min-height: 48px; }
  .verse-api-hero { border-radius: 24px 7px 24px 7px; min-height: 0; padding: 35px 24px 78px; }
  .verse-api-hero h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .verse-api-window { max-width: 280px; }
  .verse-api-demo { padding: 30px 24px; }
  .verse-api-parameters > div { grid-template-columns: 1fr; gap: 8px; }
}

.blog-layout {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) 300px;
}

.archive-header {
  align-items: center;
  backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid var(--color-line);
  border-radius: 20px 8px 20px 8px;
  box-shadow: 0 14px 34px rgb(23 25 28 / 8%);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin: 0 0 28px;
  padding: clamp(18px, 4vw, 28px);
}

.archive-header h1,
.archive-header .eyebrow,
.archive-header .meta {
  margin-bottom: 0;
}

.archive-header-compact {
  margin-top: 18px;
}

.archive-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin: 0;
}

.display-control {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  margin-left: auto;
}

.display-control > span {
  color: var(--color-muted);
  font-size: .9rem;
  font-weight: 780;
}

.sort-trigger {
  align-items: center;
  background: var(--color-ink);
  border: 0;
  border-radius: 999px;
  color: var(--color-paper);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 820;
  min-height: 42px;
  padding: 0 18px;
  transition: background 180ms ease, transform 180ms ease;
}

.sort-trigger:hover,
.sort-trigger:focus {
  background: var(--color-accent);
}

.sort-trigger:active {
  transform: scale(.97);
}

.sort-modal {
  align-items: center;
  backdrop-filter: blur(18px);
  background:
    radial-gradient(circle at 50% 20%, rgb(201 111 95 / 28%), transparent 360px),
    rgb(23 25 28 / 52%);
  display: grid;
  inset: 0;
  padding: 24px;
  position: fixed;
  z-index: 80;
}

.bible-version-modal {
  align-items: center;
  overflow-y: auto;
}

.sort-modal[hidden] {
  display: none;
}

.sort-modal-panel {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 22px 8px 22px 8px;
  box-shadow: var(--shadow-soft);
  margin: auto;
  max-height: calc(100dvh - 48px);
  max-width: 560px;
  overflow-y: auto;
  padding: clamp(24px, 5vw, 42px);
  position: relative;
  width: min(100%, 560px);
}

.bible-version-panel {
  max-width: 720px;
  width: min(100%, 720px);
}

.bible-library-modal {
  background:
    radial-gradient(circle at 12% 10%, rgb(105 194 223 / 30%), transparent 30rem),
    radial-gradient(circle at 88% 90%, rgb(242 143 104 / 22%), transparent 28rem),
    rgb(14 27 34 / 78%);
}

.bible-library-panel {
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--color-soft-blue), transparent 38%), transparent 28rem),
    var(--color-paper);
  border-radius: 28px 8px 28px 8px;
  height: calc(100dvh - 48px);
  max-height: 920px;
  max-width: 1180px;
  padding: clamp(24px, 4vw, 48px);
  width: min(100%, 1180px);
}

.bible-library-heading {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  padding-right: 52px;
}

.bible-library-heading h2 {
  font-size: clamp(2.1rem, 5vw, 4.2rem);
  margin-bottom: 0;
}

.bible-library-heading > p {
  color: var(--color-muted);
  font-weight: 760;
}

.bible-library-testaments {
  display: grid;
  gap: clamp(22px, 4vw, 46px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 32px;
}

.bible-library-testaments h3 {
  border-bottom: 1px solid var(--color-line);
  color: var(--color-blue);
  font-family: var(--font-sans);
  font-size: .86rem;
  letter-spacing: .08em;
  padding-bottom: 10px;
  text-transform: uppercase;
}

.bible-library-books {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bible-library-book {
  background: color-mix(in srgb, var(--color-surface), var(--color-paper) 18%);
  border: 1px solid var(--color-line);
  border-radius: 12px 5px 12px 5px;
  overflow: hidden;
}

.bible-library-book[open] {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 35%);
  box-shadow: 0 12px 28px rgb(36 95 131 / 10%);
  grid-column: 1 / -1;
}

.bible-library-book summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  list-style: none;
  min-height: 42px;
  padding: 0 12px;
}

.bible-library-book summary::-webkit-details-marker {
  display: none;
}

.bible-library-book summary span {
  font-weight: 800;
}

.bible-library-book summary small {
  color: var(--color-muted);
  font-size: .72rem;
}

.bible-library-book summary:hover,
.bible-library-book summary:focus {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 28%);
}

.bible-library-chapters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 4px 12px 14px;
}

.bible-library-chapters a {
  align-items: center;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 8px;
  color: var(--color-ink);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 780;
  height: 32px;
  justify-content: center;
  min-width: 32px;
  transition: background 160ms ease, color 160ms ease, transform 140ms ease;
}

.bible-library-chapters a:hover,
.bible-library-chapters a:focus {
  background: var(--color-accent);
  border-color: transparent;
  color: #fff;
  transform: translateY(-2px);
}

.bible-library-chapters a:active {
  transform: scale(.92);
}

.bible-library-chapters a[aria-current="page"] {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-paper);
}

.bible-bottom-nav {
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 40%), var(--color-surface));
  border: 1px solid var(--color-line);
  border-radius: 20px 7px 22px 7px;
  padding: clamp(24px, 5vw, 40px);
}

.bible-project-frame {
  background:
    radial-gradient(circle at 92% 4%, rgb(223 135 96 / 22%), transparent 17rem),
    radial-gradient(circle at 4% 100%, rgb(49 118 143 / 35%), transparent 22rem),
    #17252b;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 28px 9px 28px 9px;
  box-shadow: 0 28px 64px rgb(22 37 43 / 24%);
  color: #f9f4ed;
  margin: clamp(30px, 5vw, 54px) 0 28px;
  overflow: hidden;
  padding: clamp(22px, 4vw, 38px);
  position: relative;
}

.bible-project-frame::before {
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 21px 6px 21px 6px;
  content: "";
  inset: 9px;
  pointer-events: none;
  position: absolute;
}

.bible-project-heading {
  align-items: end;
  display: grid;
  gap: clamp(18px, 4vw, 52px);
  grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr);
  margin-bottom: clamp(20px, 4vw, 30px);
  position: relative;
  z-index: 1;
}

.bible-project-heading .eyebrow {
  color: #e8a47f;
}

.bible-project-heading h2 {
  color: #fffaf4;
  font-size: clamp(2rem, 5vw, 3.7rem);
  letter-spacing: -.045em;
  line-height: .98;
  margin: 0;
}

.bible-project-heading > p {
  color: rgb(255 250 244 / 72%);
  font-size: clamp(.94rem, 1.8vw, 1.08rem);
  line-height: 1.65;
  margin: 0 0 3px;
  max-width: 570px;
}

.bible-project-videos {
  display: grid;
  gap: clamp(14px, 2.5vw, 22px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  position: relative;
  z-index: 1;
}

.bible-project-videos > a {
  background: rgb(255 255 255 / 7%);
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 18px 6px 18px 6px;
  color: #fffaf4;
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bible-project-videos > a:hover,
.bible-project-videos > a:focus-visible {
  border-color: rgb(232 164 127 / 76%);
  box-shadow: 0 20px 42px rgb(0 0 0 / 28%);
  color: #fff;
  outline: 0;
  transform: translateY(-4px);
}

.bible-project-videos > a:focus-visible {
  box-shadow: 0 0 0 3px #17252b, 0 0 0 6px #e8a47f, 0 20px 42px rgb(0 0 0 / 28%);
}

.bible-project-videos > a:active {
  transform: translateY(-1px) scale(.985);
}

.bible-project-visual {
  aspect-ratio: 16 / 9;
  background: #0e171b;
  display: block;
  overflow: hidden;
  position: relative;
}

.bible-project-visual::after {
  background: linear-gradient(180deg, transparent 54%, rgb(8 15 18 / 56%));
  content: "";
  inset: 0;
  position: absolute;
}

.bible-project-visual img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: filter 220ms ease, transform 420ms cubic-bezier(.2, .8, .2, 1);
  width: 100%;
}

.bible-project-videos > a:hover .bible-project-visual img,
.bible-project-videos > a:focus-visible .bible-project-visual img {
  filter: saturate(1.07) contrast(1.03);
  transform: scale(1.035);
}

.bible-project-play {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgb(231 74 60 / 92%);
  border: 1px solid rgb(255 255 255 / 46%);
  border-radius: 50%;
  box-shadow: 0 12px 30px rgb(0 0 0 / 30%);
  display: flex;
  height: 58px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: background-color 180ms ease, transform 180ms ease;
  width: 58px;
  z-index: 1;
}

.bible-project-play i {
  border-bottom: 8px solid transparent;
  border-left: 13px solid #fff;
  border-top: 8px solid transparent;
  display: block;
  margin-left: 4px;
}

.bible-project-videos > a:hover .bible-project-play,
.bible-project-videos > a:focus-visible .bible-project-play {
  background: #f0493c;
  transform: translate(-50%, -50%) scale(1.1);
}

.bible-project-video-copy {
  display: grid;
  gap: 8px;
  padding: 18px 19px 20px;
}

.bible-project-video-copy small {
  color: #e8a47f;
  font-size: .68rem;
  font-weight: 860;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bible-project-video-copy strong {
  color: inherit;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.25;
}

.bible-project-video-copy > span {
  align-items: center;
  color: rgb(255 250 244 / 65%);
  display: flex;
  font-size: .78rem;
  font-weight: 780;
  gap: 7px;
  margin-top: 2px;
}

.bible-project-video-copy b {
  color: #e8a47f;
  font-size: 1rem;
}

.bible-project-frame footer {
  align-items: center;
  border-top: 1px solid rgb(255 255 255 / 11%);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-top: clamp(20px, 4vw, 30px);
  padding-top: 18px;
  position: relative;
  z-index: 1;
}

.bible-project-frame footer p {
  color: rgb(255 250 244 / 58%);
  font-size: .79rem;
  line-height: 1.5;
  margin: 0;
}

.bible-project-frame footer a {
  color: #f2b697;
  flex: 0 0 auto;
  font-size: .78rem;
  font-weight: 820;
  text-decoration: none;
}

.bible-project-frame footer a:hover,
.bible-project-frame footer a:focus-visible {
  color: #fff;
}

.bible-reading-progress {
  align-items: center;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 58%);
  border: 1px solid color-mix(in srgb, var(--color-blue), var(--color-line) 68%);
  border-radius: 16px 6px 18px 6px;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin: 44px 0 22px;
  padding: 22px 24px;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.bible-reading-progress h2 {
  font-size: clamp(1.3rem, 3vw, 1.7rem);
  margin-bottom: 5px;
}

.bible-reading-progress p:last-child {
  color: var(--color-muted);
  font-size: .9rem;
  margin: 0;
}

.bible-reading-progress.is-read {
  background: color-mix(in srgb, var(--color-blue), var(--color-surface) 86%);
  border-color: color-mix(in srgb, var(--color-blue), transparent 35%);
  box-shadow: 0 14px 34px rgb(42 96 120 / 12%);
}

.bible-reading-toggle {
  align-items: center;
  background: var(--color-ink);
  border: 2px solid var(--color-ink);
  border-radius: 999px;
  color: var(--color-paper);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font: inherit;
  font-weight: 850;
  gap: 9px;
  min-height: 46px;
  padding: 0 18px;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 110ms ease;
}

.bible-reading-toggle > span:first-child {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  display: inline-flex;
  height: 21px;
  justify-content: center;
  opacity: .66;
  width: 21px;
}

.bible-reading-toggle:hover,
.bible-reading-toggle:focus-visible {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: #fff;
}

.bible-reading-toggle:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-blue), transparent 45%);
  outline-offset: 3px;
}

.bible-reading-toggle:active {
  transform: scale(.96);
}

.bible-reading-toggle[aria-pressed="true"] {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: #fff;
}

.bible-reading-toggle[aria-pressed="true"] > span:first-child {
  background: #fff;
  color: var(--color-blue);
  opacity: 1;
}

.bible-chapter-strip {
  align-items: flex-start;
  border-bottom: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 14%);
  border-top: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 14%);
  display: flex;
  gap: clamp(14px, 3vw, 24px);
  margin-bottom: 28px;
  padding: clamp(14px, 2.5vw, 18px) 0;
}

.bible-chapter-strip > strong {
  color: var(--color-muted);
  flex: 0 0 auto;
  font-size: .78rem;
  letter-spacing: .04em;
  line-height: 1.15;
  min-width: 116px;
  text-transform: uppercase;
}

.bible-chapter-strip > strong span,
.bible-chapter-strip > strong small {
  display: block;
}

.bible-chapter-strip > strong span {
  color: var(--color-ink);
}

.bible-chapter-strip > strong small {
  color: var(--color-muted);
  font-size: .68rem;
  font-weight: 760;
  letter-spacing: .02em;
  margin-top: 7px;
  text-transform: none;
}

.bible-chapter-strip > div {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
}

.bible-chapter-strip a {
  align-items: center;
  background: color-mix(in srgb, var(--color-paper), var(--color-surface) 42%);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 18%);
  border-radius: 999px;
  color: var(--color-muted);
  display: inline-flex;
  flex: 0 0 38px;
  font-size: .82rem;
  font-weight: 800;
  height: 36px;
  justify-content: center;
  position: relative;
  scroll-snap-align: center;
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 100ms ease;
}

.bible-chapter-strip a:hover,
.bible-chapter-strip a:focus-visible {
  background: color-mix(in srgb, var(--color-blue), var(--color-paper) 82%);
  border-color: color-mix(in srgb, var(--color-blue), transparent 48%);
  box-shadow: 0 10px 22px rgb(42 96 120 / 12%);
  color: var(--color-blue);
  transform: translateY(-1px);
}

.bible-chapter-strip a:active {
  background: color-mix(in srgb, var(--color-blue), var(--color-paper) 70%);
  border-color: var(--color-blue);
  color: var(--color-blue);
  transform: translateY(0) scale(.94);
}

.bible-chapter-strip a[aria-current="page"] {
  background: var(--color-ink);
  border-color: var(--color-ink);
  box-shadow: 0 12px 26px rgb(22 34 44 / 16%);
  color: var(--color-paper);
}

.bible-chapter-strip a[aria-current="page"]:hover,
.bible-chapter-strip a[aria-current="page"]:focus-visible {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: #fff;
}

.bible-chapter-strip a.is-read::after {
  background: var(--color-blue);
  border: 2px solid var(--color-surface);
  border-radius: 50%;
  bottom: -2px;
  content: "";
  height: 8px;
  position: absolute;
  right: -1px;
  width: 8px;
}

.bible-bottom-nav > p:not(.eyebrow) {
  color: var(--color-muted);
}

.modal-close {
  align-items: center;
  background: color-mix(in srgb, var(--color-blue), white 88%);
  border: 1px solid color-mix(in srgb, var(--color-blue), transparent 78%);
  border-radius: 8px;
  color: var(--color-blue);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 1.35rem;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 120ms ease;
  width: 42px;
}

.modal-close:hover,
.modal-close:focus-visible {
  background: var(--color-blue);
  border-color: var(--color-blue);
  box-shadow: 0 9px 22px rgb(36 95 131 / 24%);
  color: #fff;
  transform: rotate(4deg) scale(1.08);
}

.modal-close:active {
  background: color-mix(in srgb, var(--color-blue), black 24%);
  border-color: transparent;
  box-shadow: inset 0 2px 5px rgb(0 0 0 / 20%);
  color: #fff;
  transform: scale(.9);
}

.sort-modal-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 22px;
}

.sort-modal-grid a {
  background: color-mix(in srgb, var(--color-soft), var(--color-paper) 32%);
  border: 1px solid var(--color-line);
  border-radius: 12px 6px 12px 6px;
  color: var(--color-ink);
  font-weight: 820;
  padding: 16px;
  transition: background 160ms ease, color 160ms ease, transform 120ms ease;
}

.sort-modal-grid a:hover,
.sort-modal-grid a:focus,
.sort-modal-grid a[aria-current="true"] {
  background: var(--color-ink);
  color: var(--color-paper);
  text-decoration: none;
}

.sort-modal-grid a:active {
  background: var(--color-accent-dark);
  color: #fff;
  transform: scale(.97);
}

.segmented-control {
  background: color-mix(in srgb, var(--color-soft), var(--color-paper) 24%);
  border-radius: 999px;
  display: inline-flex;
  gap: 3px;
  padding: 4px;
}

.segmented-control a,
.clear-control,
.sort-control a {
  border-radius: 999px;
  color: var(--color-ink);
  display: inline-flex;
  font-weight: 720;
  line-height: 1;
  padding: 10px 12px;
  transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.segmented-control a:hover,
.segmented-control a:focus,
.sort-control a:hover,
.sort-control a:focus,
.clear-control:hover,
.clear-control:focus {
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 72%);
  box-shadow: 0 8px 18px rgb(201 111 95 / 12%);
  color: color-mix(in srgb, var(--color-accent-dark), var(--color-ink) 18%);
  text-decoration: none;
}

.segmented-control a:active,
.sort-control a:active,
.clear-control:active {
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 58%);
  box-shadow: inset 0 2px 6px rgb(23 25 28 / 12%);
  transform: scale(.96);
}

.segmented-control a[aria-current="true"],
.sort-control a[aria-current="true"] {
  background: var(--color-ink);
  box-shadow: 0 8px 18px rgb(23 25 28 / 12%);
  color: var(--color-paper);
}

.sort-control {
  align-items: center;
  background: color-mix(in srgb, var(--color-soft), var(--color-paper) 24%);
  border-radius: 999px;
  display: inline-flex;
  gap: 4px;
  padding: 4px;
}

.sort-control span {
  color: var(--color-muted);
  font-size: .9rem;
  font-weight: 700;
  padding: 0 8px;
}

.clear-control {
  align-items: center;
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 78%);
  color: var(--color-accent-dark);
  font-size: 1.2rem;
  justify-content: center;
  min-height: 40px;
  min-width: 40px;
}

.content-list {
  display: grid;
  gap: 24px;
}

.content-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.content-row {
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 4%);
  border-radius: 22px 7px 22px 7px;
  box-shadow: 0 12px 30px rgb(23 25 28 / 5%);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 160ms ease;
}

.content-row:hover,
.content-row:focus-within {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 42%);
  box-shadow: 0 20px 42px rgb(23 48 64 / 12%);
  transform: translateY(-3px);
}

.content-tile {
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 4%);
  border-radius: 16px 8px 18px 8px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 14px 34px rgb(23 25 28 / 8%);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 160ms ease;
}

.content-tile:hover,
.content-tile:focus-within {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 42%);
  box-shadow: 0 20px 42px rgb(23 48 64 / 13%);
  transform: translateY(-3px);
}

.content-tile .content-row-image {
  margin-top: 0;
}

.content-tile .content-row-image img {
  aspect-ratio: 16 / 9;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.content-tile .content-row-body {
  background: transparent;
  border: 0;
  border-radius: 0;
}

.content-row h2 {
  font-size: clamp(1.55rem, 2.9vw, 2.35rem);
  letter-spacing: 0;
  margin-bottom: 10px;
}

.content-row h2 a:hover,
.content-row h2 a:focus,
.card h3 a:hover,
.card h3 a:focus {
  color: var(--color-accent-dark);
  text-decoration: none;
}

.content-row h2 a:active,
.card h3 a:active {
  color: var(--color-blue);
}

.byline {
  color: color-mix(in srgb, var(--color-ink), transparent 30%);
  font-size: .95rem;
  font-weight: 720;
  margin: -2px 0 12px;
}

.byline span {
  color: var(--color-muted);
  font-weight: 600;
}

.byline span::before {
  content: "·";
  margin: 0 8px;
}

.content-row-body {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: clamp(18px, 3vw, 30px);
}

.content-row-image {
  display: block;
  height: 100%;
  margin-top: 0;
  position: relative;
  transition: filter 160ms ease, transform 140ms ease;
  z-index: 1;
}

.content-row-image:hover,
.content-row-image:focus {
  filter: saturate(1.08);
  transform: translateY(-3px);
}

.content-row-image:active {
  filter: saturate(.94);
  transform: translateY(0) scale(.98);
}

.content-row-image img {
  aspect-ratio: auto;
  border-radius: 0;
  box-shadow: none;
  display: block;
  height: 100%;
  object-fit: cover;
  transform: none;
  width: 100%;
}

.blog-sidebar {
  display: grid;
  gap: 16px;
  position: static;
}

.blog-letter-panel {
  position: sticky;
  top: 105px;
}

.sidebar-panel {
  padding: 4px 0;
}

.sidebar-list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-list a {
  align-items: center;
  border-radius: 9px 4px 9px 4px;
  color: var(--color-ink);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin: 0 -8px;
  padding: 7px 8px;
  transition: background 160ms ease, color 160ms ease, transform 120ms ease;
}

.sidebar-list strong {
  color: var(--color-muted);
  font-size: .85rem;
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.chip-row span,
.chip-row time {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 34%);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: color-mix(in srgb, var(--color-blue), var(--color-ink) 34%);
  font-size: .82rem;
  font-weight: 720;
  line-height: 1;
  padding: 7px 10px;
}

.chip-row time {
  background: transparent;
  border-color: transparent;
  color: var(--color-muted);
  font-weight: 650;
  padding-left: 0;
}

.chip-row span:first-child {
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 78%);
  color: var(--color-accent-dark);
}

.content-list .chip-row {
  color: var(--color-muted);
  gap: 0;
}

.content-list .chip-row span,
.content-list .chip-row time {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--color-muted);
  font-size: .82rem;
  letter-spacing: .04em;
  padding: 0;
  text-transform: uppercase;
}

.content-list .chip-row span:first-child {
  background: transparent;
  color: var(--color-accent-dark);
}

.content-list .chip-row span:not(:last-child)::after,
.content-list .chip-row time:not(:last-child)::after {
  color: color-mix(in srgb, var(--color-accent), var(--color-muted) 45%);
  content: "/";
  margin: 0 8px;
}

.content-tile .chip-row {
  color: var(--color-muted);
  gap: 0;
}

.content-tile .chip-row span,
.content-tile .chip-row time {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--color-muted);
  font-size: .78rem;
  letter-spacing: .04em;
  padding: 0;
  text-transform: uppercase;
}

.content-tile .chip-row span:first-child {
  background: transparent;
  color: var(--color-accent-dark);
}

.content-tile .chip-row span:not(:last-child)::after,
.content-tile .chip-row time:not(:last-child)::after {
  color: color-mix(in srgb, var(--color-accent), var(--color-muted) 45%);
  content: "/";
  margin: 0 8px;
}

.article > .chip-row {
  color: var(--color-muted);
  gap: 0;
  margin-bottom: 18px;
}

.article > .chip-row span,
.article > .chip-row time {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--color-muted);
  font-size: .83rem;
  letter-spacing: .04em;
  padding: 0;
  text-transform: uppercase;
}

.article > .chip-row span:first-child {
  background: transparent;
  color: var(--color-accent-dark);
}

.article > .chip-row span:not(:last-child)::after,
.article > .chip-row time:not(:last-child)::after {
  color: color-mix(in srgb, var(--color-accent), var(--color-muted) 45%);
  content: "/";
  margin: 0 8px;
}

.pagination {
  align-items: center;
  color: var(--color-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  padding-top: 10px;
}

.pagination a,
.pagination span {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  min-height: 40px;
  min-width: 40px;
  justify-content: center;
  padding: 0 13px;
}

.pagination a {
  background: color-mix(in srgb, var(--color-surface), transparent 12%);
  border: 2px solid var(--color-line);
  color: var(--color-ink);
  font-weight: 720;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 90ms ease;
}

.pagination a:hover,
.pagination a:focus-visible {
  background: var(--color-surface);
  border-color: var(--color-ink);
  box-shadow: 0 5px 14px rgb(23 25 28 / 12%);
  color: var(--color-ink);
  text-decoration: none;
  transform: translateY(-1px);
}

.pagination a:active {
  background: color-mix(in srgb, var(--color-ink), transparent 88%);
  border-color: var(--color-ink);
  box-shadow: inset 0 2px 4px rgb(23 25 28 / 18%);
  color: var(--color-ink);
  transform: translateY(1px) scale(.96);
}

.pagination a[aria-current="page"] {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-paper);
  box-shadow: none;
}

.pagination a[aria-current="page"]:hover,
.pagination a[aria-current="page"]:focus-visible {
  background: color-mix(in srgb, var(--color-ink), var(--color-paper) 12%);
  border-color: var(--color-ink);
  color: var(--color-paper);
}

.pagination span {
  font-size: .92rem;
}

.suggestion-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.article-suggestions {
  margin-top: clamp(54px, 8vw, 92px);
}

.article-suggestions .editorial-section-heading {
  align-items: end;
  border-top: 2px solid color-mix(in srgb, var(--color-line) 72%, var(--color-accent));
  margin-bottom: 26px;
}

.article-suggestions .suggestion-grid {
  background: color-mix(in srgb, var(--color-line) 80%, var(--color-accent));
  border: 1px solid color-mix(in srgb, var(--color-line) 80%, var(--color-accent));
  border-radius: 28px 8px 28px 8px;
  gap: 1px;
  overflow: hidden;
}

.section-heading {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 22px;
}

.section-heading h2 {
  margin-bottom: 0;
}

.editorial-section-heading {
  border-top: 1px solid color-mix(in srgb, var(--color-line), transparent 10%);
  padding-top: clamp(18px, 3vw, 26px);
}

.editorial-section-heading h2 {
  font-size: clamp(2.1rem, 5vw, 4rem);
  letter-spacing: -.055em;
  line-height: .96;
}

.section-link {
  align-items: center;
  color: var(--color-accent-dark);
  display: inline-flex;
  font-weight: 860;
  gap: 8px;
}

.section-link span {
  transition: transform 180ms ease;
}

.section-link:hover,
.section-link:focus {
  color: var(--color-blue);
  text-decoration: none;
}

.section-link:hover span,
.section-link:focus span {
  transform: translateX(4px);
}

.suggestion-card {
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 5%);
  border-radius: 18px 7px 20px 7px;
  box-shadow: 0 12px 30px rgb(22 34 44 / 5%);
  color: var(--color-ink);
  display: grid;
  overflow: hidden;
  position: relative;
}

.suggestion-card img {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  transition: filter 220ms ease, transform 280ms ease;
  width: 100%;
}

.suggestion-card span {
  display: grid;
  font-weight: 760;
  gap: 6px;
  padding: 14px;
}

.suggestion-card small {
  color: var(--color-muted);
  font-size: .82rem;
  font-weight: 600;
}

.article-suggestions .suggestion-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-height: 390px;
}

.article-suggestions .suggestion-card img {
  aspect-ratio: 4 / 3;
  min-height: 220px;
}

.article-suggestions .suggestion-card span {
  align-content: end;
  min-height: 150px;
  padding: clamp(20px, 3vw, 30px);
  position: relative;
}

.article-suggestions .suggestion-card span::after {
  color: var(--color-accent);
  content: "→";
  font-size: 1.15rem;
  line-height: 1;
  position: absolute;
  right: clamp(20px, 3vw, 30px);
  top: 22px;
  transition: color 160ms ease, transform 160ms ease;
}

.article-suggestions .suggestion-card small {
  border-bottom: 1px solid color-mix(in srgb, var(--color-line) 75%, var(--color-accent));
  color: var(--color-accent-dark);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .055em;
  margin-bottom: 4px;
  padding-bottom: 9px;
  padding-right: 34px;
  text-transform: uppercase;
}

.editorial-image {
  aspect-ratio: 16 / 10;
  border-radius: 18px 6px 18px 6px;
  display: block;
  object-fit: cover;
  width: 100%;
}

.article-byline {
  align-items: center;
  color: var(--color-meta);
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  gap: 9px;
  margin: -6px 0 22px;
}

.article-byline span {
  color: var(--color-ink);
  font-weight: 820;
}

.article-byline time::before {
  color: var(--color-accent);
  content: "•";
  margin-right: 9px;
}

.article-contributor-note {
  align-items: center;
  color: var(--color-meta);
  display: flex;
  flex-wrap: wrap;
  font-size: .86rem;
  gap: 8px;
  margin: -12px 0 22px;
}

.article-contributor-note span {
  color: var(--color-accent-dark);
  font-size: .68rem;
  font-weight: 860;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.article-contributor-note a {
  color: var(--color-ink);
  font-weight: 790;
  text-decoration-color: color-mix(in srgb, var(--color-accent), transparent 56%);
  text-underline-offset: 4px;
  transition: color 160ms ease, text-decoration-color 160ms ease, transform 160ms ease;
}

.article-contributor-note a:hover,
.article-contributor-note a:focus-visible {
  color: var(--color-accent-dark);
  outline: 0;
  text-decoration-color: currentColor;
}

.article-contributor-note a:active {
  color: var(--color-blue);
  transform: translateY(1px);
}

.article-hero-image {
  aspect-ratio: 16 / 7;
  margin-bottom: 18px;
}

.article-hero-image--portrait {
  aspect-ratio: 16 / 10;
  background: #171918;
  object-fit: contain;
}

.article-title-card {
  align-items: center;
  aspect-ratio: 16 / 7;
  background:
    radial-gradient(circle at 15% 18%, rgb(204 117 85 / 27%), transparent 28%),
    radial-gradient(circle at 87% 82%, rgb(68 105 120 / 25%), transparent 30%),
    linear-gradient(135deg, #191614, #090909 70%);
  color: #fff8f1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 28px;
  overflow: hidden;
  padding: clamp(30px, 6vw, 72px);
  position: relative;
  text-align: center;
}

.article-title-card::before,
.article-title-card::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

.article-title-card::before {
  border: 1px solid rgb(255 255 255 / 24%);
  inset: clamp(17px, 2.4vw, 34px);
}

.article-title-card::after {
  border: 1px solid rgb(204 117 85 / 42%);
  inset: clamp(25px, 3.4vw, 49px);
}

.article-title-card-kicker,
.article-title-card-years,
.article-title-card-note {
  font-size: clamp(.55rem, 1vw, .68rem);
  font-weight: 820;
  letter-spacing: .18em;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.article-title-card--reactions {
  background:
    radial-gradient(circle at 16% 20%, rgb(111 145 92 / 28%), transparent 30%),
    radial-gradient(circle at 86% 80%, rgb(202 126 75 / 25%), transparent 32%),
    linear-gradient(135deg, #172119, #090b09 70%);
}

.article-title-card--reactions::after { border-color: rgb(132 166 107 / 45%); }
.article-title-card--reactions .article-title-card-kicker,
.article-title-card--reactions strong em { color: #b8d29e; }

.content-placeholder-card {
  align-items: center;
  background:
    radial-gradient(circle at 14% 18%, rgb(204 117 85 / 28%), transparent 30%),
    radial-gradient(circle at 88% 84%, rgb(68 105 120 / 25%), transparent 32%),
    linear-gradient(135deg, #191614, #090909 72%);
  color: #fff8f1;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: 245px;
  overflow: hidden;
  padding: clamp(28px, 4vw, 54px);
  position: relative;
  text-align: center;
  width: 100%;
}

.content-placeholder-card::before,
.content-placeholder-card::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

.content-placeholder-card::before { border: 1px solid rgb(255 255 255 / 24%); inset: 14px; }
.content-placeholder-card::after { border: 1px solid rgb(204 117 85 / 42%); inset: 22px; }
.content-placeholder-card small,
.content-placeholder-card > span,
.content-placeholder-card > b,
.content-placeholder-card i {
  font-size: .58rem;
  font-style: normal;
  font-weight: 820;
  letter-spacing: .16em;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.content-placeholder-card small { color: #dc957a; margin-bottom: 16px; }
.content-placeholder-card strong {
  font-family: var(--font-serif);
  font-size: clamp(2.05rem, 4vw, 4.5rem);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .8;
  position: relative;
  z-index: 1;
}
.content-placeholder-card strong em { color: #e8a188; font-weight: 400; }
.content-placeholder-card > span,
.content-placeholder-card > b { color: rgb(255 255 255 / 55%); margin-top: 18px; }
.content-placeholder-card > b { display: block; }
.content-placeholder-card i { bottom: 30px; color: rgb(255 255 255 / 32%); position: absolute; right: 34px; }
.content-placeholder-card--reactions {
  background:
    radial-gradient(circle at 14% 18%, rgb(111 145 92 / 28%), transparent 30%),
    radial-gradient(circle at 88% 84%, rgb(202 126 75 / 25%), transparent 32%),
    linear-gradient(135deg, #172119, #090b09 72%);
}
.content-placeholder-card--reactions::after { border-color: rgb(132 166 107 / 45%); }
.content-placeholder-card--reactions small,
.content-placeholder-card--reactions strong em { color: #b8d29e; }
.content-tile .content-placeholder-card { aspect-ratio: 16 / 9; min-height: 0; }
.home-placeholder-card { min-height: 0; }
.home-placeholder-card--lead { inset: 0; position: absolute; }
.home-placeholder-card--lead strong { font-size: clamp(3rem, 5vw, 5.8rem); }
.home-placeholder-card--compact {
  aspect-ratio: 4 / 3;
  padding: 30px 24px;
}
.home-placeholder-card--compact small { margin-bottom: 12px; }
.home-placeholder-card--compact strong { font-size: clamp(1.85rem, 3.4vw, 3.4rem); }
.home-placeholder-card--compact > b { margin-top: 14px; }
.home-placeholder-card--compact i { bottom: 24px; right: 28px; }
.article-suggestions .suggestion-placeholder-card {
  aspect-ratio: 4 / 3;
  min-height: 220px;
  padding: 34px 26px;
}
.article-suggestions .suggestion-placeholder-card small {
  border: 0;
  color: #dc957a;
  font-size: .56rem;
  font-weight: 820;
  letter-spacing: .16em;
  margin: 0 0 14px;
  padding: 0;
}
.article-suggestions .suggestion-placeholder-card strong {
  font-size: clamp(1.9rem, 3.5vw, 3.6rem);
}
.article-suggestions .suggestion-placeholder-card > b {
  font-size: .54rem;
  font-weight: 820;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.article-suggestions .suggestion-placeholder-card i {
  bottom: 25px;
  right: 29px;
}

.article-title-card-kicker { color: #dc957a; margin-bottom: clamp(18px, 2.5vw, 30px); }
.article-title-card strong {
  font-family: var(--font-serif);
  font-size: clamp(3rem, 7.5vw, 7.4rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .77;
  position: relative;
  z-index: 1;
}
.article-title-card strong em { color: #e8a188; font-weight: 400; }
.article-title-card-years { color: rgb(255 255 255 / 55%); margin-top: clamp(22px, 3vw, 36px); }
.article-title-card-note {
  bottom: clamp(23px, 3.5vw, 46px);
  color: rgb(255 255 255 / 32%);
  position: absolute;
  right: clamp(29px, 4.2vw, 60px);
}

.image-credit {
  color: var(--color-meta);
  display: flex;
  flex-wrap: wrap;
  font-size: .82rem;
  gap: 8px;
  justify-content: flex-end;
  margin: -8px 0 26px;
}

.image-credit a {
  color: var(--color-accent-dark);
  font-weight: 760;
}

.image-credit span:not(:last-child)::after,
.image-credit a:not(:last-child)::after {
  color: color-mix(in srgb, var(--color-muted), transparent 35%);
  content: "/";
  margin-left: 8px;
}

.article .lead {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 0 18px 8px 18px;
  font-size: clamp(1.12rem, 2.2vw, 1.32rem);
  margin: 10px clamp(12px, 4vw, 58px) 34px clamp(18px, 7vw, 86px);
  padding: clamp(18px, 3vw, 28px);
  position: relative;
}

.article-layout {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) 240px;
}

.article-layout .article {
  max-width: none;
}

.article-aside {
  align-self: start;
  display: grid;
  gap: 16px;
  position: sticky;
  top: 108px;
}

.article-toc-dock {
  display: none;
}

.article-aside-letter {
  display: none;
  margin: 0;
}

.article-toc-dock:empty {
  display: none;
}

.article-toc-dock:empty + .article-aside-letter {
  display: block;
}

.article-toc {
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--color-surface), transparent 4%), color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 68%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 12%);
  border-radius: 18px 7px 18px 7px;
  box-shadow: 0 18px 38px rgb(23 25 28 / 7%);
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  padding: 16px;
}

.article-toc-title {
  color: var(--color-accent-dark);
  font-size: .68rem;
  font-weight: 860;
  letter-spacing: .1em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.article-toc ol {
  display: grid;
  gap: 2px;
  list-style: none;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.article-toc a {
  border-left: 2px solid transparent;
  border-radius: 0 8px 8px 0;
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 24%);
  display: block;
  font-size: .96rem;
  font-weight: 760;
  line-height: 1.34;
  padding: 9px 8px 9px 11px;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.article-toc-item-h3 a {
  color: var(--color-muted);
  font-size: .9rem;
  padding-left: 24px;
}

.article-toc a:hover,
.article-toc a:focus-visible {
  background: color-mix(in srgb, var(--color-soft-blue), transparent 48%);
  color: var(--color-blue);
  outline: 0;
}

.article-toc a.is-active {
  background: color-mix(in srgb, var(--color-accent), transparent 88%);
  border-color: var(--color-accent);
  color: var(--color-accent-dark);
  transform: translateX(2px);
}

.article-toc-tab {
  align-items: center;
  backdrop-filter: blur(16px);
  background: color-mix(in srgb, var(--color-surface), transparent 8%);
  border: 1px solid var(--color-line);
  color: var(--color-ink);
  cursor: pointer;
  display: inline-flex;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .98rem;
  font-weight: 820;
  gap: 10px;
  letter-spacing: 0;
  line-height: 1;
  min-height: 48px;
  padding: 0 18px;
}

.article-toc-tab span {
  font-size: 1.05rem;
}

.article-toc-tab:hover,
.article-toc-tab:focus-visible {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-paper);
  outline: 0;
}

.article-toc-trigger {
  border-left: 0;
  border-radius: 0 16px 16px 0;
  box-shadow: 12px 0 30px rgb(23 25 28 / 13%);
  left: 0;
  min-height: 54px;
  padding: 0 15px 0 12px;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 18;
}

.article-toc-trigger-label {
  display: inline;
}

.article-toc-trigger[hidden] {
  display: none;
}

.article-toc-panel {
  align-items: stretch;
  background:
    linear-gradient(90deg, rgb(23 25 28 / 34%), rgb(23 25 28 / 10%));
  display: flex;
  inset: 0;
  justify-content: flex-start;
  padding: 18px 18px 18px 0;
  position: fixed;
  z-index: 84;
}

.article-toc-panel[hidden] {
  display: none;
}

.article-toc-panel-frame {
  animation: articleTocSheetIn 240ms cubic-bezier(.2,.8,.2,1);
  max-width: min(430px, calc(100vw - 28px));
  position: relative;
  width: min(430px, calc(100vw - 28px));
}

.article-toc-panel-scroll {
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--color-surface), transparent 2%), color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 72%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 12%);
  border-left: 0;
  border-radius: 0 24px 8px 0;
  box-shadow: 24px 0 70px rgb(23 25 28 / 24%);
  height: 100%;
  max-height: none;
  overflow-y: auto;
  padding: 0 18px 18px;
  scrollbar-color: color-mix(in srgb, var(--color-accent), transparent 18%) transparent;
  scrollbar-width: thin;
}

.article-toc-panel-scroll::-webkit-scrollbar {
  width: 10px;
}

.article-toc-panel-scroll::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--color-accent), transparent 18%);
  border: 3px solid transparent;
  border-radius: 999px;
  background-clip: content-box;
}

.article-toc-panel-scroll .article-toc {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.article-toc-panel-header {
  align-items: center;
  backdrop-filter: blur(18px);
  background: color-mix(in srgb, var(--color-surface), transparent 3%);
  border-bottom: 1px solid color-mix(in srgb, var(--color-line), transparent 22%);
  display: flex;
  justify-content: space-between;
  margin: 0 -18px 16px;
  min-height: 58px;
  padding: 10px 12px 10px 18px;
  position: sticky;
  top: 0;
  z-index: 2;
}

.article-toc-panel-header p {
  color: var(--color-ink);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.05rem;
  font-weight: 860;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
}

.article-toc-close {
  align-items: center;
  background: var(--color-ink);
  border: 1px solid var(--color-ink);
  border-radius: 999px;
  color: var(--color-paper);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.3rem;
  font-weight: 520;
  height: 38px;
  justify-content: center;
  line-height: 1;
  width: 38px;
}

.article-toc-close:hover,
.article-toc-close:focus-visible {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  outline: 0;
}

.article-toc-panel-scroll .article-toc-title {
  display: none;
}

.article-toc-panel-scroll .article-toc ol {
  gap: 4px;
}

.article-toc-panel-scroll .article-toc a {
  font-size: 1.04rem;
  line-height: 1.36;
  padding-bottom: 11px;
  padding-top: 11px;
}

.article-toc-panel-scroll .article-toc-item-h3 a {
  font-size: .96rem;
}

html.article-toc-panel-open {
  overflow: hidden;
}

@keyframes articleTocSheetIn {
  from {
    opacity: .72;
    transform: translateX(-28px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (min-width: 761px) {
  .article-aside {
    max-height: calc(100dvh - 128px);
  }

  .article-toc-dock {
    background:
      linear-gradient(145deg, color-mix(in srgb, var(--color-surface), transparent 4%), color-mix(in srgb, var(--color-soft-blue), var(--color-surface) 68%));
    border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 12%);
    border-radius: 18px 7px 18px 7px;
    box-shadow: 0 18px 38px rgb(23 25 28 / 7%);
    box-sizing: border-box;
    display: block;
    max-height: inherit;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 17px 15px;
    scrollbar-color: color-mix(in srgb, var(--color-accent), transparent 22%) transparent;
    scrollbar-width: thin;
    width: 100%;
  }

  .article-toc-dock::-webkit-scrollbar {
    width: 8px;
  }

  .article-toc-dock::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--color-accent), transparent 22%);
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: content-box;
  }

  .article-toc-dock .article-toc {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    max-height: inherit;
    padding: 0;
  }

  .article-toc-trigger {
    display: none;
  }

  .article-toc-panel {
    display: none;
  }
}

.article-body {
  margin: 36px clamp(18px, 5.5vw, 72px) 0 clamp(24px, 7vw, 92px);
}

.article-body p,
.article-body li {
  font-size: 1.06rem;
  line-height: 1.82;
}

.article-body h2,
.article-body h3 {
  scroll-margin-top: 112px;
}

.article-body p {
  margin: 0 0 1.25em;
}

.article-layout .article-body > p,
.article-layout .article-body > ul,
.article-layout .article-body > ol {
  margin-left: clamp(14px, 4vw, 54px);
}

.article-body h2,
.article-body h3 {
  font-family: var(--font-sans);
  line-height: 1.08;
  position: relative;
  text-wrap: balance;
}

.article-body h2 {
  color: color-mix(in srgb, var(--color-blue), var(--color-ink) 12%);
  font-size: clamp(1.62rem, 2.6vw, 2.18rem);
  font-weight: 880;
  letter-spacing: -.045em;
  margin: clamp(42px, 6vw, 64px) 0 18px 0;
  max-width: 720px;
  padding-top: 18px;
}

.article-body h2::before {
  background: linear-gradient(90deg, var(--color-accent), color-mix(in srgb, var(--color-accent), transparent 100%));
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  right: min(58%, 360px);
  top: 0;
}

.article-body h3 {
  color: color-mix(in srgb, var(--color-accent-dark), var(--color-ink) 24%);
  font-size: clamp(1.16rem, 1.8vw, 1.38rem);
  font-weight: 830;
  letter-spacing: -.025em;
  margin: 34px 0 12px clamp(6px, 2vw, 28px);
  max-width: 660px;
  padding-left: 14px;
}

.article-body h3::before {
  background: var(--color-accent);
  border-radius: 999px;
  content: "";
  height: 1.05em;
  left: 0;
  opacity: .72;
  position: absolute;
  top: .05em;
  width: 3px;
}

.article-body h4 {
  color: var(--color-muted);
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 860;
  letter-spacing: .08em;
  margin: 30px 0 10px clamp(14px, 4vw, 54px);
  text-transform: uppercase;
}

.article-body blockquote {
  background: transparent;
  border-left: 4px solid color-mix(in srgb, var(--color-blue), var(--color-accent) 20%);
  color: color-mix(in srgb, var(--color-ink), var(--color-muted) 22%);
  font-size: 1.1rem;
  margin: 32px 0 34px clamp(32px, 6vw, 78px);
  padding: 4px 0 4px clamp(18px, 3vw, 28px);
}

.article-body blockquote p:last-child {
  margin-bottom: 0;
}

.article-body a {
  color: var(--color-accent-dark);
  font-weight: 760;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--color-accent), transparent 52%);
  text-underline-offset: 4px;
}

.article-body a:hover,
.article-body a:focus {
  color: var(--color-blue);
  text-decoration-color: currentColor;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tag-list a,
.tag-list span {
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-muted);
  display: inline-flex;
  font-size: .86rem;
  padding: 5px 10px;
}

.tag-list a {
  transition: background 160ms ease, color 160ms ease, transform 120ms ease;
}

.tag-list a:hover,
.tag-list a:focus,
.sidebar-list a:hover,
.sidebar-list a:focus {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 28%);
  color: var(--color-accent-dark);
  text-decoration: none;
}

.tag-list a:active,
.sidebar-list a:active {
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 70%);
  color: var(--color-ink);
  transform: scale(.97);
}

.read-more-link {
  align-items: center;
  color: var(--color-accent-dark);
  display: inline-flex;
  font-weight: 860;
  margin-top: 12px;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--color-accent), transparent 45%);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.read-more-link:hover,
.read-more-link:focus {
  color: var(--color-blue);
  text-decoration-color: currentColor;
}

.read-more-link:active,
.section-link:active {
  color: var(--color-accent-dark);
  transform: scale(.97);
}

.suggestion-card {
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 160ms ease;
}

.suggestion-card:hover,
.suggestion-card:focus {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 35%);
  box-shadow: 0 20px 38px rgb(36 95 131 / 14%);
  color: var(--color-ink);
  text-decoration: none;
  transform: translateY(-3px);
}

.suggestion-card:hover img,
.suggestion-card:focus img {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.045);
}

.suggestion-card:active {
  box-shadow: 0 6px 14px rgb(36 95 131 / 10%);
  transform: translateY(0) scale(.98);
}

.article-suggestions .suggestion-card:hover,
.article-suggestions .suggestion-card:focus-visible {
  background: var(--color-ink);
  border-color: transparent;
  box-shadow: none;
  color: var(--color-paper);
  transform: translateY(0);
}

.article-suggestions .suggestion-card:hover span::after,
.article-suggestions .suggestion-card:focus-visible span::after {
  color: #f2b696;
  transform: translateX(5px);
}

.article-suggestions .suggestion-card:hover small,
.article-suggestions .suggestion-card:focus-visible small {
  border-color: rgb(255 250 245 / 24%);
  color: #f2b696;
}

.article-suggestions .suggestion-card:active {
  background: #111315;
  transform: scale(.985);
}

html[data-theme="dark"] .article-suggestions .suggestion-card:active {
  background: #f6f7f9;
  border-color: color-mix(in srgb, var(--color-accent-dark), #fff 20%);
  color: #141312;
}

html[data-theme="dark"] .article-suggestions .suggestion-card:active small {
  border-color: rgb(154 72 61 / 24%);
  color: #9a483d;
}

html[data-theme="dark"] .article-suggestions .suggestion-card:active span::after {
  color: #9a483d;
}

@media (max-width: 760px) {
  .article-suggestions .editorial-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .article-suggestions .suggestion-grid {
    border-radius: 22px 7px 22px 7px;
  }

  .article-suggestions .suggestion-card {
    min-height: 0;
  }

  .article-suggestions .suggestion-card img {
    min-height: 190px;
  }
}

.article-ad {
  background:
    linear-gradient(145deg, rgb(255 255 255 / 72%), rgb(215 237 245 / 62%)),
    var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-accent), var(--color-line) 45%);
  border-radius: 18px 7px 18px 7px;
  margin: 34px 0;
  padding: 22px;
}

.article-ad h2 {
  color: color-mix(in srgb, var(--color-blue), var(--color-ink) 18%);
}

.article-aside .article-ad,
.blog-sidebar .article-ad {
  background:
    radial-gradient(circle at 88% 12%, rgb(255 224 190 / 40%), transparent 170px),
    linear-gradient(145deg, #b98557 0%, #87613d 48%, #2f5662 100%);
  border: 0;
  box-shadow: 0 20px 44px rgb(111 79 52 / 20%);
  color: #fff;
}

.article-aside .article-ad .eyebrow,
.blog-sidebar .article-ad .eyebrow {
  color: rgb(255 255 255 / 78%);
}

.article-aside .article-ad h2,
.article-aside .article-ad p,
.blog-sidebar .article-ad h2,
.blog-sidebar .article-ad p {
  color: #fff;
}

.article-aside .article-ad .button-secondary,
.blog-sidebar .article-ad .button-secondary {
  background: #fff;
  border-color: transparent;
  color: var(--color-accent-dark);
}

.article-aside .article-ad .button-secondary:hover,
.article-aside .article-ad .button-secondary:focus,
.blog-sidebar .article-ad .button-secondary:hover,
.blog-sidebar .article-ad .button-secondary:focus {
  background: var(--color-ink);
  color: var(--color-paper);
}

html[data-theme="dark"] body {
  background:
    radial-gradient(circle at top left, rgb(42 96 120 / 42%), transparent 360px),
    radial-gradient(circle at 96% -8%, rgb(225 139 118 / 10%), transparent 470px),
    var(--color-paper);
}

html[data-theme="dark"] .global-search-toolbar .archive-controls {
  background: color-mix(in srgb, #37312d 84%, var(--color-surface));
  border-color: rgb(255 255 255 / 13%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%), 0 14px 30px rgb(0 0 0 / 18%);
}

html[data-theme="dark"] .global-search-toolbar .display-control {
  background: #403832;
  border-color: rgb(255 255 255 / 13%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%);
}

html[data-theme="dark"] .global-search-toolbar .display-control > span {
  color: rgb(255 250 245 / 70%);
}

html[data-theme="dark"] .global-search-toolbar .segmented-control {
  background: #453b35;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%);
}

html[data-theme="dark"] .global-search-toolbar .segmented-control a[aria-current="true"] {
  background: #fffaf5;
  color: #211713;
}

html[data-theme="dark"] .blog-archive-toolbar .display-control > span {
  color: rgb(255 250 245 / 70%);
}

html[data-theme="dark"] .blog-archive-toolbar .segmented-control a[aria-current="true"] {
  background: #fffaf5;
  color: #211713;
}

html[data-theme="dark"] .segmented-control a:hover,
html[data-theme="dark"] .segmented-control a:focus-visible {
  background: #f2b08e;
  box-shadow: 0 8px 18px rgb(242 176 142 / 18%);
  color: #211713;
}

html[data-theme="dark"] .segmented-control a:active {
  background: #e39d78;
  box-shadow: inset 0 2px 6px rgb(33 23 19 / 24%);
  color: #211713;
}

html[data-theme="dark"] .segmented-control a[aria-current="true"] {
  background: #fffaf5;
  box-shadow: 0 8px 20px rgb(0 0 0 / 18%);
  color: #211713;
}

html[data-theme="dark"] .site-search {
  background: #211f1d;
}

html[data-theme="dark"] .site-search:focus-within {
  background: #171615;
}

html[data-theme="dark"] .brand img {
  filter: invert(1) grayscale(1) brightness(1.75);
}

html[data-theme="light"] .brand img {
  filter: none;
}

html[data-theme="dark"] .site-footer {
  background: linear-gradient(145deg, #102735 0%, #183e51 46%, #0c1d28 100%);
  border-top-color: rgb(255 255 255 / 10%);
  color: rgb(255 255 255 / 72%);
}

html[data-theme="dark"] .footer-bottom {
  border-top-color: rgb(255 255 255 / 14%);
}

html[data-theme="dark"] .footer-brand,
html[data-theme="dark"] .site-footer h2 {
  color: #fff;
}

html[data-theme="dark"] .site-footer a {
  color: rgb(255 255 255 / 86%);
}

html[data-theme="dark"] .site-footer a:hover,
html[data-theme="dark"] .site-footer a:focus {
  color: var(--color-accent-dark);
}

html[data-theme="dark"] .site-footer .social-links a,
html[data-theme="dark"] .site-footer .social-link-placeholder {
  background: rgb(255 255 255 / 10%);
  border-color: rgb(255 255 255 / 16%);
}

html[data-theme="dark"] .site-footer .brand img {
  filter: invert(1) grayscale(1) brightness(1.75);
}

html[data-theme="dark"] .nav-links a[aria-current="page"],
html[data-theme="dark"] .nav-bible-read:hover,
html[data-theme="dark"] .nav-bible-read:focus,
html[data-theme="dark"] .nav-bible-read[aria-current="page"],
html[data-theme="dark"] .nav-more > button[aria-expanded="true"] {
  background: color-mix(in srgb, var(--color-blue), var(--color-paper) 22%) !important;
  border-color: color-mix(in srgb, var(--color-blue), var(--color-paper) 22%);
  color: #fff !important;
}

html[data-theme="dark"] .nav-links a:hover,
html[data-theme="dark"] .nav-links a:focus-visible,
html[data-theme="dark"] .nav-more > button:hover,
html[data-theme="dark"] .nav-more > button:focus-visible,
html[data-theme="dark"] .nav-bible-item > a:first-child:hover,
html[data-theme="dark"] .nav-bible-item > a:first-child:focus-visible {
  background: #f2b08e;
  box-shadow: 0 12px 28px rgb(242 176 142 / 18%), inset 0 0 0 1px rgb(255 255 255 / 28%);
  color: #211713 !important;
}

html[data-theme="dark"] .nav-links a[aria-current="page"]:hover,
html[data-theme="dark"] .nav-links a[aria-current="page"]:focus-visible {
  background: linear-gradient(135deg, #fff4e8 0%, #f2b08e 100%) !important;
  border-color: rgb(242 176 142 / 72%);
  box-shadow: 0 14px 30px rgb(242 176 142 / 24%), inset 0 0 0 1px rgb(255 255 255 / 42%);
  color: #211713 !important;
}

html[data-theme="dark"] .breadcrumb,
html[data-theme="dark"] .breadcrumb a {
  color: color-mix(in srgb, var(--color-accent-dark), #fff 12%);
}

html[data-theme="dark"] .reading-page {
  background: #111315;
  color: #f4f1eb;
}

html[data-theme="dark"] .reading-hero {
  background:
    radial-gradient(circle at 84% 18%, rgb(74 151 176 / 24%), transparent 24rem),
    linear-gradient(135deg, #111315, #1b1f22 58%, #102735);
}

html[data-theme="dark"] .reading-hero h1,
html[data-theme="dark"] .reading-section-heading h2,
html[data-theme="dark"] .reading-literature h2,
html[data-theme="dark"] .reading-method h2,
html[data-theme="dark"] .reading-field h3,
html[data-theme="dark"] .reading-figures h3,
html[data-theme="dark"] .reading-method strong {
  color: #f7f4ee;
}

html[data-theme="dark"] .reading-hero-copy {
  border-top-color: rgb(255 255 255 / 16%);
}

html[data-theme="dark"] .reading-hero-copy p,
html[data-theme="dark"] .reading-field p,
html[data-theme="dark"] .reading-literature > div:first-child p:last-child,
html[data-theme="dark"] .reading-figures p,
html[data-theme="dark"] .reading-method span {
  color: rgb(255 255 255 / 70%);
}

html[data-theme="dark"] .reading-hero-copy a,
html[data-theme="dark"] .reading-field strong {
  color: #f2b08e;
}

html[data-theme="dark"] .reading-fields,
html[data-theme="dark"] .reading-method {
  background: #111315;
}

html[data-theme="dark"] .reading-thesis {
  background: #08090a;
}

html[data-theme="dark"] .reading-literature {
  background: #17232a;
}

html[data-theme="dark"] .reading-field,
html[data-theme="dark"] .reading-figures article {
  background: rgb(255 255 255 / 6%);
  border-color: rgb(255 255 255 / 12%);
}

html[data-theme="dark"] .reading-field span,
html[data-theme="dark"] .reading-method li::before {
  color: rgb(255 255 255 / 30%);
}

html[data-theme="dark"] .reading-method li {
  border-top-color: rgb(255 255 255 / 13%);
}

html[data-theme="dark"] .hero .feature-card {
  background:
    linear-gradient(145deg, rgb(42 96 120 / 82%), rgb(24 27 30 / 82%)),
    var(--color-surface);
  border-color: rgb(225 139 118 / 32%);
  box-shadow: 0 18px 46px rgb(0 0 0 / 24%);
}

html[data-theme="dark"] .hero .feature-card h2,
html[data-theme="dark"] .hero .feature-card p {
  color: rgb(255 255 255 / 78%);
}

html[data-theme="dark"] .hero .feature-card h2,
html[data-theme="dark"] .hero .feature-card p:first-of-type:not(.meta) {
  color: #fff;
}

html[data-theme="dark"] .hero .feature-card p:first-of-type:not(.meta) {
  font-size: 1.12rem;
  font-weight: 900;
}

html[data-theme="dark"] .hero .feature-card .meta {
  color: var(--color-accent-dark);
}

html[data-theme="dark"] .hero .feature-card a {
  color: #fff;
}

html[data-theme="dark"] .article-ad {
  background:
    radial-gradient(circle at 88% 10%, rgb(225 139 118 / 16%), transparent 170px),
    linear-gradient(145deg, #202c34, #14181c);
  border-color: rgb(225 139 118 / 20%);
  color: rgb(255 255 255 / 80%);
}

html[data-theme="dark"] .article-ad h2,
html[data-theme="dark"] .article-ad p {
  color: rgb(255 255 255 / 86%);
}

html[data-theme="dark"] .article-ad .eyebrow {
  color: var(--color-accent-dark);
}

html[data-theme="dark"] .article-aside .article-ad,
html[data-theme="dark"] .blog-sidebar .article-ad {
  background:
    radial-gradient(circle at 88% 10%, rgb(225 139 118 / 30%), transparent 180px),
    linear-gradient(145deg, #243b46, #14181c);
  border: 1px solid rgb(225 139 118 / 22%);
  box-shadow: 0 20px 48px rgb(0 0 0 / 34%);
}

html[data-theme="dark"] .article-aside .article-ad .eyebrow,
html[data-theme="dark"] .blog-sidebar .article-ad .eyebrow {
  color: #fff;
}

html[data-theme="dark"] .email-theme-fieldset {
  background: rgb(255 255 255 / 3%);
  border-color: rgb(255 255 255 / 34%);
}

html[data-theme="dark"] .email-theme-fieldset .segmented-control-form label {
  border-color: rgb(255 255 255 / 28%);
}

html[data-theme="dark"] .article-aside .article-ad .button-secondary,
html[data-theme="dark"] .blog-sidebar .article-ad .button-secondary {
  background: #fff;
  border-color: #fff;
  color: #2f211a;
}

html[data-theme="dark"] .article-aside .article-ad .button-secondary:hover,
html[data-theme="dark"] .article-aside .article-ad .button-secondary:focus,
html[data-theme="dark"] .blog-sidebar .article-ad .button-secondary:hover,
html[data-theme="dark"] .blog-sidebar .article-ad .button-secondary:focus {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: #171615;
}

html[data-theme="dark"] .gospel-movement-list article,
html[data-theme="dark"] .gospel-next-grid a,
html[data-theme="dark"] .gospel-prayer {
  background: color-mix(in srgb, var(--color-surface) 88%, #101315);
  border-color: color-mix(in srgb, var(--color-line) 72%, var(--color-accent));
}

html[data-theme="dark"] .gospel-movement-list article:hover,
html[data-theme="dark"] .gospel-next-grid a:hover,
html[data-theme="dark"] .gospel-next-grid a:focus-visible {
  border-color: color-mix(in srgb, var(--color-accent) 52%, var(--color-line));
  box-shadow: 0 24px 54px rgb(0 0 0 / 32%);
}

html[data-theme="dark"] .gospel-prayer {
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 18px 44px rgb(0 0 0 / 26%);
}

html[data-theme="dark"] .gospel-prayer::before {
  color: rgb(225 139 118 / 20%);
}

html[data-theme="dark"] .gospel-prayer p {
  color: #f5dfd5;
}

html[data-theme="dark"] .gospel-prayer span {
  color: #d6aa97;
}

html[data-theme="dark"] .gospel-next-grid a:hover small,
html[data-theme="dark"] .gospel-next-grid a:focus-visible small,
html[data-theme="dark"] .global-search-start a:hover small,
html[data-theme="dark"] .global-search-start a:focus-visible small {
  color: color-mix(in srgb, var(--color-paper), transparent 18%);
}

html[data-theme="dark"] .gospel-next-grid a {
  background: #191b1e;
  border-color: #34302d;
  color: #f6f7f9;
}

html[data-theme="dark"] .gospel-next-grid small {
  color: #c9c2ba;
}

html[data-theme="dark"] .gospel-next-grid a:hover,
html[data-theme="dark"] .gospel-next-grid a:focus-visible {
  background: #f6f7f9;
  border-color: #e18b76;
  color: #141312;
}

html[data-theme="dark"] .gospel-next-grid a:hover span,
html[data-theme="dark"] .gospel-next-grid a:focus-visible span,
html[data-theme="dark"] .gospel-next-grid a:hover b,
html[data-theme="dark"] .gospel-next-grid a:focus-visible b {
  color: #9a483d;
}

html[data-theme="dark"] .gospel-next-grid a:hover small,
html[data-theme="dark"] .gospel-next-grid a:focus-visible small {
  color: #514741;
}

.meditation-layout {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}

.meditation-visual {
  position: sticky;
  top: 108px;
}

.meditation-visual img {
  box-shadow: var(--shadow-soft);
}

.site-cta {
  align-items: center;
  background: var(--color-blue);
  border-radius: 18px;
  color: #fff;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 72px calc(50% - min(640px, 50vw - 18px)) 0;
  padding: clamp(24px, 5vw, 38px);
  transform-origin: center;
  transition: box-shadow 220ms ease, transform 220ms ease;
}

.site-cta:hover,
.site-cta:focus-within {
  box-shadow: 0 22px 56px rgb(23 25 28 / 18%);
  transform: scale(1.012);
}

.site-cta .eyebrow,
.site-cta p {
  color: rgb(255 255 255 / 82%);
}

.site-cta h2 {
  color: #fff;
  margin-bottom: 8px;
}

.site-cta .button-secondary {
  background: transparent;
  border-color: rgb(255 255 255 / 38%);
  color: #fff;
}

.site-cta .button-secondary:hover,
.site-cta .button-secondary:focus-visible {
  background: rgb(255 255 255 / 16%);
  border-color: rgb(255 255 255 / 58%);
  box-shadow: 0 12px 28px rgb(0 0 0 / 16%);
  color: #fff;
}

.site-cta .button-secondary:active {
  background: rgb(255 255 255 / 26%);
  border-color: rgb(255 255 255 / 72%);
  box-shadow: inset 0 3px 8px rgb(0 0 0 / 24%);
  color: #fff;
  transform: translateY(1px) scale(.96);
}

.site-cta .button:not(.button-secondary):hover,
.site-cta .button:not(.button-secondary):focus {
  color: #fff;
}

html[data-theme="dark"] .site-cta .button:not(.button-secondary):hover,
html[data-theme="dark"] .site-cta .button:not(.button-secondary):focus {
  color: #fff;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 1040px) {
  .bible-pager-link {
    height: 48px;
    padding: 0;
    width: 48px;
  }

  .bible-pager-link strong {
    display: none;
  }
}

@media (max-width: 760px) {
  .site-header {
    position: static;
  }

  .hero {
    grid-template-columns: 1fr;
    padding: 28px 20px;
  }

  .header-frame {
    gap: 10px;
    grid-template-columns: 1fr;
  }

  .site-nav {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 42px;
  }

  .brand {
    height: 48px;
    padding: 0;
  }

  .brand img {
    height: 40px;
  }

  .nav-links {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: none;
    flex-wrap: wrap;
    gap: 6px;
    grid-column: 1 / -1;
    padding-top: 8px;
    position: static;
  }

  .nav-links.is-open {
    display: flex;
  }

  .nav-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .site-cta {
    grid-template-columns: 1fr;
  }

  .bible-landing-hero,
  .bible-search-hero,
  .bible-search-line,
  .bible-search-discovery,
  .script-keyboards {
    grid-template-columns: 1fr;
  }

  .bible-search-suggestion-list a,
  .bible-search-keywords a {
    white-space: normal;
  }

  .bible-quick-search {
    grid-template-columns: 1fr;
  }

  .bible-hero-actions {
    grid-template-columns: 1fr;
  }

  .stats-columns {
    grid-template-columns: 1fr;
  }

  .stats-bar-row {
    grid-template-columns: 44px minmax(70px, 1fr) 36px;
  }

  .stats-bar-row small {
    display: none;
  }

  .bible-landing-media {
    grid-template-columns: 1fr;
  }

  .bible-landing-media img:nth-child(2) {
    margin-bottom: 0;
  }
}

.proverbs-hero {
  background:
    radial-gradient(circle at 87% 12%, rgb(255 209 139 / 62%), transparent 220px),
    linear-gradient(135deg, #193e51 0%, #245f83 52%, #4b9fbb 100%);
  border-radius: 24px 8px 30px 10px;
  box-shadow: 0 24px 56px rgb(23 62 81 / 18%);
  color: #fff;
  display: grid;
  gap: clamp(28px, 6vw, 72px);
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  overflow: hidden;
  padding: clamp(30px, 6vw, 68px);
  position: relative;
}

.proverbs-hero::before {
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 50%;
  content: "";
  height: 260px;
  left: -130px;
  position: absolute;
  top: -145px;
  width: 260px;
}

.proverbs-hero-copy {
  align-self: center;
  position: relative;
  z-index: 1;
}

.proverbs-hero .eyebrow {
  color: #ffd18b;
}

.proverbs-hero h1 {
  color: #fff;
  font-size: clamp(3rem, 7vw, 6rem);
  max-width: 820px;
}

.proverbs-intro {
  color: rgb(255 255 255 / 82%);
  font-size: 1.08rem;
  max-width: 680px;
}

.proverbs-primary-action {
  background: #ffd18b;
  color: #17222a;
}

.proverbs-primary-action:hover,
.proverbs-primary-action:focus {
  background: #fff;
  color: #17222a;
  transform: translateY(-2px);
}

.proverbs-version-link {
  align-items: center;
  color: #fff;
  display: inline-flex;
  font-weight: 760;
  gap: 9px;
}

.proverbs-version-link span {
  background: rgb(255 255 255 / 14%);
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 7px;
  font-size: .72rem;
  letter-spacing: .08em;
  padding: 4px 7px;
}

.proverbs-version-link:hover,
.proverbs-version-link:focus {
  color: #ffd18b;
}

.proverbs-day-card {
  align-self: center;
  backdrop-filter: blur(16px);
  background: rgb(255 255 255 / 13%);
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 22px 7px 24px 8px;
  box-shadow: 0 22px 46px rgb(9 31 42 / 20%);
  min-height: 350px;
  overflow: hidden;
  padding: 28px;
  position: relative;
}

.proverbs-day-number {
  color: rgb(255 255 255 / 7%);
  font-size: 13rem;
  font-weight: 900;
  line-height: .8;
  position: absolute;
  right: -18px;
  top: 12px;
}

.proverbs-day-card h2,
.proverbs-day-card p,
.proverbs-day-card blockquote {
  color: #fff;
  position: relative;
}

.proverbs-day-card h2 {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.proverbs-day-card blockquote {
  border-left: 2px solid #ffd18b;
  font-size: .96rem;
  margin: 22px 0;
  padding-left: 16px;
}

.proverbs-day-card a {
  color: #ffd18b;
  font-weight: 820;
  position: relative;
}

.proverbs-picker-heading {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
}

.proverbs-picker-heading > p {
  color: var(--color-muted);
  max-width: 390px;
  text-align: right;
}

.proverbs-chapter-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-top: 28px;
}

.proverbs-chapter-grid a {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 14px 5px 14px 5px;
  color: var(--color-ink);
  display: grid;
  min-height: 88px;
  padding: 14px;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.proverbs-chapter-grid a span {
  font-size: 1.5rem;
  font-weight: 880;
}

.proverbs-chapter-grid a small {
  align-self: end;
  color: var(--color-muted);
}

.proverbs-chapter-grid a:hover,
.proverbs-chapter-grid a:focus,
.proverbs-chapter-grid a[aria-current="date"] {
  background: linear-gradient(145deg, #245f83, #4b9fbb);
  border-color: transparent;
  box-shadow: 0 14px 26px rgb(36 95 131 / 18%);
  color: #fff;
  transform: translateY(-3px);
}

.proverbs-chapter-grid a:hover small,
.proverbs-chapter-grid a:focus small,
.proverbs-chapter-grid a[aria-current="date"] small {
  color: rgb(255 255 255 / 74%);
}

@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contributor-content-card {
    grid-template-columns: minmax(180px, .82fr) minmax(0, 1fr);
  }

  .contributor-content-action {
    grid-column: 2;
    justify-self: start;
    margin: 0 0 8px;
  }

  .bible-landing-hero,
  .bible-search-hero,
  .bible-search-line,
  .bible-search-discovery,
  .script-keyboards {
    grid-template-columns: 1fr;
  }

  .bible-quick-search,
  .bible-hero-actions {
    max-width: none;
  }

  .library-featured-book {
    grid-template-columns: minmax(180px, .85fr) minmax(260px, 1fr);
  }

  .library-grid {
    grid-template-columns: 1fr;
  }

  .library-card {
    grid-template-columns: minmax(86px, 112px) minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .contributor-content-card {
    grid-template-columns: 1fr;
  }

  .contributor-content-image {
    aspect-ratio: 16 / 9;
  }

  .contributor-content-body {
    padding: 4px 4px 0;
  }

  .contributor-content-action {
    grid-column: auto;
    justify-self: start;
    margin: 0 4px 4px;
  }

  .library-hero {
    grid-template-columns: 1fr;
    padding: 28px 20px;
  }

  .library-hero-copy h1 {
    font-size: clamp(3rem, 15vw, 4.8rem);
  }

  .library-featured-book {
    grid-template-columns: 1fr;
  }

  .library-featured-cover {
    margin: 0 auto;
    min-height: 0;
    width: min(190px, 68vw);
  }

  .library-value-grid {
    grid-template-columns: 1fr;
  }

  .library-value-grid article {
    min-height: 0;
  }

  .library-card {
    grid-template-columns: 94px minmax(0, 1fr);
  }

  .proverbs-hero {
    grid-template-columns: 1fr;
    padding: 30px 20px;
  }

  .proverbs-hero h1 {
    font-size: clamp(2.7rem, 14vw, 4.5rem);
  }

  .proverbs-day-card {
    min-height: 300px;
  }

  .proverbs-picker-heading {
    align-items: start;
    flex-direction: column;
  }

  .proverbs-picker-heading > p {
    text-align: left;
  }

  .proverbs-chapter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .archive-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .archive-controls,
  .display-control {
    width: 100%;
  }

  .display-control {
    justify-content: space-between;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .footer-grid,
  .blog-layout,
  .article-layout,
  .meditation-layout,
  .contributor-profile,
  .auth-card,
  .security-grid {
    grid-template-columns: 1fr;
  }

  .contributor-profile-visual {
    max-width: 360px;
    width: 100%;
  }

  .auth-body {
    padding: 12px;
  }

  .auth-card {
    min-height: auto;
  }

  .auth-visual {
    min-height: 320px;
  }

  .admin-session-bar {
    border-radius: 8px;
    justify-content: start;
    width: 100%;
  }

  .theme-dock {
    flex-direction: row;
  }

  .site-dock {
    bottom: 12px;
    max-width: calc(100vw - 24px);
    width: max-content;
  }

  .bible-reader-tools {
    flex-wrap: wrap;
    justify-content: center;
  }

  .bible-library-panel {
    border-radius: 18px 6px 18px 6px;
    height: calc(100dvh - 24px);
    padding: 22px 18px;
  }

  .bible-library-heading {
    align-items: start;
    flex-direction: column;
    gap: 6px;
    padding-right: 44px;
  }

  .bible-library-heading h2 {
    font-size: 2.35rem;
  }

  .bible-library-testaments {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }

  .bible-library-books {
    grid-template-columns: 1fr;
  }

  .bible-library-trigger {
    padding: 0 13px;
  }

  .sort-modal-grid {
    grid-template-columns: 1fr;
  }

  .content-row {
    grid-template-columns: 1fr;
  }

  .content-row .content-row-image img {
    aspect-ratio: 16 / 9;
    height: auto;
  }

  .book-card,
  .admin-row {
    grid-template-columns: 1fr;
  }

  .book-cover {
    max-width: 220px;
  }

  .admin-row-actions {
    justify-content: start;
  }

  .content-row-body {
    border-left: 1px solid var(--color-line);
    border-radius: 0 0 8px 8px;
  }

  .content-row-image {
    margin-top: 0;
  }

  .content-row-image img {
    border-radius: 8px 8px 0 0;
    transform: none;
  }

  .article-aside,
  .blog-sidebar,
  .blog-letter-panel,
  .meditation-visual {
    position: static;
  }

  .article-toc-trigger {
    bottom: auto;
    top: 50%;
  }

  .article-toc-trigger {
    gap: 0;
    min-height: 50px;
    padding: 0 11px 0 10px;
    width: 44px;
  }

  .article-toc-trigger-label {
    display: none;
  }

  .bible-pager-link {
    bottom: 76px;
    top: auto;
    transform: none;
  }

  .bible-pager-link:hover,
  .bible-pager-link:focus-visible {
    transform: scale(1.04);
  }

  .bible-pager-link:active {
    transform: scale(.94);
  }

  .bible-version-dock {
    bottom: 18px;
    top: auto;
  }

  .bible-version-trigger {
    bottom: 18px;
    top: auto;
  }

  .bible-chapter-links {
    width: 100%;
  }

  .bible-reading-progress {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
  }

  .bible-reading-toggle {
    justify-content: center;
    width: 100%;
  }

  .bible-chapter-strip {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .bible-chapter-strip > div {
    flex-wrap: wrap;
  }

  .bible-project-frame {
    border-radius: 22px 7px 22px 7px;
    padding: 22px;
  }

  .bible-project-heading {
    align-items: start;
    gap: 12px;
    grid-template-columns: 1fr;
  }

  .bible-project-heading h2 {
    font-size: clamp(2.25rem, 13vw, 3.15rem);
  }

  .bible-project-frame footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-ink: #f6f7f9;
    --color-muted: #e0c6b6;
    --color-meta: #f0b18d;
    --color-line: #393734;
    --color-paper: #141312;
    --color-surface: rgb(25 27 30 / 86%);
    --color-soft: #25211e;
    --color-soft-blue: #182a33;
    --color-accent: #e18b76;
    --color-accent-dark: #f2a58f;
    --color-button-accent-text: #241411;
    --color-button-accent-hover: #8a3028;
    --color-button-accent-active: #4b1814;
    --color-blue: #2a6078;
    --shadow-soft: 0 18px 46px rgb(0 0 0 / 34%);
  }

  :root:not([data-theme]) body {
    animation: none;
    background:
      radial-gradient(circle at top left, rgb(42 96 120 / 42%), transparent 360px),
      radial-gradient(circle at 96% -8%, rgb(225 139 118 / 10%), transparent 470px),
      var(--color-paper);
  }

  :root:not([data-theme]) .global-search-toolbar .archive-controls {
    background: color-mix(in srgb, #37312d 84%, var(--color-surface));
    border-color: rgb(255 255 255 / 13%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%), 0 14px 30px rgb(0 0 0 / 18%);
  }

  :root:not([data-theme]) .global-search-toolbar .display-control {
    background: #403832;
    border-color: rgb(255 255 255 / 13%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%);
  }

  :root:not([data-theme]) .global-search-toolbar .display-control > span {
    color: rgb(255 250 245 / 70%);
  }

  :root:not([data-theme]) .global-search-toolbar .segmented-control {
    background: #453b35;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%);
  }

  :root:not([data-theme]) .global-search-toolbar .segmented-control a[aria-current="true"] {
    background: #fffaf5;
    color: #211713;
  }

  :root:not([data-theme]) .blog-archive-toolbar .display-control > span {
    color: rgb(255 250 245 / 70%);
  }

  :root:not([data-theme]) .blog-archive-toolbar .segmented-control a[aria-current="true"] {
    background: #fffaf5;
    color: #211713;
  }

  :root:not([data-theme]) .segmented-control a:hover,
  :root:not([data-theme]) .segmented-control a:focus-visible {
    background: #f2b08e;
    box-shadow: 0 8px 18px rgb(242 176 142 / 18%);
    color: #211713;
  }

  :root:not([data-theme]) .segmented-control a:active {
    background: #e39d78;
    box-shadow: inset 0 2px 6px rgb(33 23 19 / 24%);
    color: #211713;
  }

  :root:not([data-theme]) .segmented-control a[aria-current="true"] {
    background: #fffaf5;
    box-shadow: 0 8px 20px rgb(0 0 0 / 18%);
    color: #211713;
  }

  :root:not([data-theme]) .site-search {
    background: #211f1d;
  }

  :root:not([data-theme]) .site-search:focus-within {
    background: #171615;
  }

  :root:not([data-theme]) .brand img {
    filter: invert(1) grayscale(1) brightness(1.75);
  }

  :root:not([data-theme]) .social-logo-dark {
    display: none !important;
  }

  :root:not([data-theme]) .social-logo-light {
    display: block !important;
  }

  :root:not([data-theme]) .site-footer {
    background: linear-gradient(145deg, #102735 0%, #183e51 46%, #0c1d28 100%);
    border-top-color: rgb(255 255 255 / 10%);
    color: rgb(255 255 255 / 72%);
  }

  :root:not([data-theme]) .footer-bottom {
    border-top-color: rgb(255 255 255 / 14%);
  }

  :root:not([data-theme]) .footer-brand,
  :root:not([data-theme]) .site-footer h2 {
    color: #fff;
  }

  :root:not([data-theme]) .site-footer a {
    color: rgb(255 255 255 / 86%);
  }

  :root:not([data-theme]) .site-footer a:hover,
  :root:not([data-theme]) .site-footer a:focus {
    color: var(--color-accent-dark);
  }

  :root:not([data-theme]) .site-footer .social-links a,
  :root:not([data-theme]) .site-footer .social-link-placeholder {
    background: rgb(255 255 255 / 10%);
    border-color: rgb(255 255 255 / 16%);
  }

  :root:not([data-theme]) .site-footer .brand img {
    filter: invert(1) grayscale(1) brightness(1.75);
  }

  :root:not([data-theme]) .nav-links a[aria-current="page"],
  :root:not([data-theme]) .nav-bible-read:hover,
  :root:not([data-theme]) .nav-bible-read:focus,
  :root:not([data-theme]) .nav-bible-read[aria-current="page"],
  :root:not([data-theme]) .nav-more > button[aria-expanded="true"] {
    background: color-mix(in srgb, var(--color-blue), var(--color-paper) 22%) !important;
    border-color: color-mix(in srgb, var(--color-blue), var(--color-paper) 22%);
    color: #fff !important;
  }

  :root:not([data-theme]) .nav-links a:hover,
  :root:not([data-theme]) .nav-links a:focus-visible,
  :root:not([data-theme]) .nav-more > button:hover,
  :root:not([data-theme]) .nav-more > button:focus-visible,
  :root:not([data-theme]) .nav-bible-item > a:first-child:hover,
  :root:not([data-theme]) .nav-bible-item > a:first-child:focus-visible {
    background: #f2b08e;
    box-shadow: 0 12px 28px rgb(242 176 142 / 18%), inset 0 0 0 1px rgb(255 255 255 / 28%);
    color: #211713 !important;
  }

  :root:not([data-theme]) .nav-links a[aria-current="page"]:hover,
  :root:not([data-theme]) .nav-links a[aria-current="page"]:focus-visible {
    background: linear-gradient(135deg, #fff4e8 0%, #f2b08e 100%) !important;
    border-color: rgb(242 176 142 / 72%);
    box-shadow: 0 14px 30px rgb(242 176 142 / 24%), inset 0 0 0 1px rgb(255 255 255 / 42%);
    color: #211713 !important;
  }

  :root:not([data-theme]) .breadcrumb,
  :root:not([data-theme]) .breadcrumb a {
    color: color-mix(in srgb, var(--color-accent-dark), #fff 12%);
  }

  :root:not([data-theme]) .reading-page {
    background: #111315;
    color: #f4f1eb;
  }

  :root:not([data-theme]) .reading-hero {
    background:
      radial-gradient(circle at 84% 18%, rgb(74 151 176 / 24%), transparent 24rem),
      linear-gradient(135deg, #111315, #1b1f22 58%, #102735);
  }

  :root:not([data-theme]) .reading-hero h1,
  :root:not([data-theme]) .reading-section-heading h2,
  :root:not([data-theme]) .reading-literature h2,
  :root:not([data-theme]) .reading-method h2,
  :root:not([data-theme]) .reading-field h3,
  :root:not([data-theme]) .reading-figures h3,
  :root:not([data-theme]) .reading-method strong {
    color: #f7f4ee;
  }

  :root:not([data-theme]) .reading-hero-copy {
    border-top-color: rgb(255 255 255 / 16%);
  }

  :root:not([data-theme]) .reading-hero-copy p,
  :root:not([data-theme]) .reading-field p,
  :root:not([data-theme]) .reading-literature > div:first-child p:last-child,
  :root:not([data-theme]) .reading-figures p,
  :root:not([data-theme]) .reading-method span {
    color: rgb(255 255 255 / 70%);
  }

  :root:not([data-theme]) .reading-hero-copy a,
  :root:not([data-theme]) .reading-field strong {
    color: #f2b08e;
  }

  :root:not([data-theme]) .reading-fields,
  :root:not([data-theme]) .reading-method {
    background: #111315;
  }

  :root:not([data-theme]) .reading-thesis {
    background: #08090a;
  }

  :root:not([data-theme]) .reading-literature {
    background: #17232a;
  }

  :root:not([data-theme]) .reading-field,
  :root:not([data-theme]) .reading-figures article {
    background: rgb(255 255 255 / 6%);
    border-color: rgb(255 255 255 / 12%);
  }

  :root:not([data-theme]) .reading-field span,
  :root:not([data-theme]) .reading-method li::before {
    color: rgb(255 255 255 / 30%);
  }

  :root:not([data-theme]) .reading-method li {
    border-top-color: rgb(255 255 255 / 13%);
  }

  :root:not([data-theme]) .hero .feature-card {
    background:
      linear-gradient(145deg, rgb(42 96 120 / 82%), rgb(24 27 30 / 82%)),
      var(--color-surface);
    border-color: rgb(225 139 118 / 32%);
    box-shadow: 0 18px 46px rgb(0 0 0 / 24%);
  }

  :root:not([data-theme]) .hero .feature-card h2,
  :root:not([data-theme]) .hero .feature-card p:first-of-type:not(.meta) {
    color: #fff;
  }

  :root:not([data-theme]) .hero .feature-card p {
    color: rgb(255 255 255 / 78%);
  }

  :root:not([data-theme]) .hero .feature-card p:first-of-type:not(.meta) {
    font-size: 1.12rem;
    font-weight: 900;
  }

  :root:not([data-theme]) .hero .feature-card .meta {
    color: var(--color-accent-dark);
  }

  :root:not([data-theme]) .hero .feature-card a {
    color: #fff;
  }

  :root:not([data-theme]) .article-ad {
    background:
      radial-gradient(circle at 88% 10%, rgb(225 139 118 / 16%), transparent 170px),
      linear-gradient(145deg, #202c34, #14181c);
    border-color: rgb(225 139 118 / 20%);
    color: rgb(255 255 255 / 80%);
  }

  :root:not([data-theme]) .article-ad h2,
  :root:not([data-theme]) .article-ad p {
    color: rgb(255 255 255 / 86%);
  }

  :root:not([data-theme]) .article-aside .article-ad,
  :root:not([data-theme]) .blog-sidebar .article-ad {
    background:
      radial-gradient(circle at 88% 10%, rgb(225 139 118 / 30%), transparent 180px),
      linear-gradient(145deg, #243b46, #14181c);
    border: 1px solid rgb(225 139 118 / 22%);
    box-shadow: 0 20px 48px rgb(0 0 0 / 34%);
  }

  :root:not([data-theme]) .article-aside .article-ad .eyebrow,
  :root:not([data-theme]) .blog-sidebar .article-ad .eyebrow {
    color: #fff;
  }

  :root:not([data-theme]) .email-theme-fieldset {
    background: rgb(255 255 255 / 3%);
    border-color: rgb(255 255 255 / 34%);
  }

  :root:not([data-theme]) .email-theme-fieldset .segmented-control-form label {
    border-color: rgb(255 255 255 / 28%);
  }

  :root:not([data-theme]) .article-aside .article-ad .button-secondary,
  :root:not([data-theme]) .blog-sidebar .article-ad .button-secondary {
    background: #fff;
    border-color: #fff;
    color: #2f211a;
  }

  :root:not([data-theme]) .article-aside .article-ad .button-secondary:hover,
  :root:not([data-theme]) .article-aside .article-ad .button-secondary:focus,
  :root:not([data-theme]) .blog-sidebar .article-ad .button-secondary:hover,
  :root:not([data-theme]) .blog-sidebar .article-ad .button-secondary:focus {
    background: var(--color-accent-dark);
    border-color: var(--color-accent-dark);
    color: #171615;
  }

  :root:not([data-theme]) .gospel-movement-list article,
  :root:not([data-theme]) .gospel-next-grid a,
  :root:not([data-theme]) .gospel-prayer {
    background: color-mix(in srgb, var(--color-surface) 88%, #101315);
    border-color: color-mix(in srgb, var(--color-line) 72%, var(--color-accent));
  }

  :root:not([data-theme]) .gospel-movement-list article:hover,
  :root:not([data-theme]) .gospel-next-grid a:hover,
  :root:not([data-theme]) .gospel-next-grid a:focus-visible {
    border-color: color-mix(in srgb, var(--color-accent) 52%, var(--color-line));
    box-shadow: 0 24px 54px rgb(0 0 0 / 32%);
  }

  :root:not([data-theme]) .gospel-prayer {
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 18px 44px rgb(0 0 0 / 26%);
  }

  :root:not([data-theme]) .gospel-prayer::before {
    color: rgb(225 139 118 / 20%);
  }

  :root:not([data-theme]) .gospel-prayer p {
    color: #f5dfd5;
  }

  :root:not([data-theme]) .gospel-prayer span {
    color: #d6aa97;
  }

  :root:not([data-theme]) .gospel-next-grid a:hover small,
  :root:not([data-theme]) .gospel-next-grid a:focus-visible small,
  :root:not([data-theme]) .global-search-start a:hover small,
  :root:not([data-theme]) .global-search-start a:focus-visible small {
    color: color-mix(in srgb, var(--color-paper), transparent 18%);
  }

  :root:not([data-theme]) .gospel-next-grid a {
    background: #191b1e;
    border-color: #34302d;
    color: #f6f7f9;
  }

  :root:not([data-theme]) .gospel-next-grid small {
    color: #c9c2ba;
  }

  :root:not([data-theme]) .gospel-next-grid a:hover,
  :root:not([data-theme]) .gospel-next-grid a:focus-visible {
    background: #f6f7f9;
    border-color: #e18b76;
    color: #141312;
  }

  :root:not([data-theme]) .gospel-next-grid a:hover span,
  :root:not([data-theme]) .gospel-next-grid a:focus-visible span,
  :root:not([data-theme]) .gospel-next-grid a:hover b,
  :root:not([data-theme]) .gospel-next-grid a:focus-visible b {
    color: #9a483d;
  }

  :root:not([data-theme]) .gospel-next-grid a:hover small,
  :root:not([data-theme]) .gospel-next-grid a:focus-visible small {
    color: #514741;
  }

  :root:not([data-theme]) .article-suggestions .suggestion-card:active {
    background: #f6f7f9;
    border-color: color-mix(in srgb, var(--color-accent-dark), #fff 20%);
    color: #141312;
  }

  :root:not([data-theme]) .article-suggestions .suggestion-card:active small {
    border-color: rgb(154 72 61 / 24%);
    color: #9a483d;
  }

  :root:not([data-theme]) .article-suggestions .suggestion-card:active span::after {
    color: #9a483d;
  }

  :root:not([data-theme]) .site-cta .button:not(.button-secondary):hover,
  :root:not([data-theme]) .site-cta .button:not(.button-secondary):focus {
    color: #fff;
  }

  :root:not([data-theme]) .objections-hero p:not(.eyebrow),
  :root:not([data-theme]) .objections-intro > p:last-child {
    color: #e8c9ba;
  }
}

/* Studio components: secondary admin screens ---------------------------- */
.admin-main .eyebrow {
  color: #6f818b;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .14em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.admin-main > article > h1,
.admin-main > section > h1,
.admin-main .archive-header h1 {
  color: #17242d;
  margin-bottom: 13px;
}

.admin-main > article > h1 + p,
.admin-main > section > h1 + p,
.admin-main .archive-header h1 + p {
  color: #73838c;
  font-size: .91rem;
  margin-top: 0;
  max-width: 680px;
}

.admin-main .archive-header {
  align-items: end;
  border-bottom: 1px solid #dfe6e9;
  margin-bottom: 26px;
  padding-bottom: 23px;
}

.admin-main .archive-header .button {
  flex: 0 0 auto;
}

.admin-main .button {
  background: #67d6dc;
  border: 1px solid #67d6dc;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgb(70 177 184 / 22%);
  color: #10212b;
  font-size: .76rem;
  font-weight: 800;
  min-height: 42px;
  padding: 0 15px;
  transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, color 140ms ease, transform 110ms ease;
}

.admin-main .button:hover,
.admin-main .button:focus-visible {
  background: #a0ecdf;
  border-color: #a0ecdf;
  box-shadow: 0 12px 25px rgb(75 190 194 / 28%);
  color: #10212b;
  transform: translateY(-2px);
}

.admin-main .button:active {
  background: #43afb6;
  border-color: #43afb6;
  box-shadow: inset 0 3px 8px rgb(0 0 0 / 36%);
  color: #0c1b23;
  transform: translateY(1px) scale(.97);
}

.admin-main .button-secondary {
  background: transparent;
  border-color: #cad5da;
  box-shadow: none;
  color: #3e525d;
}

.admin-main .button-secondary:hover,
.admin-main .button-secondary:focus-visible {
  background: #e9f1f2;
  border-color: #a8bdc3;
  color: #193a42;
}

.admin-main .button-secondary:active {
  background: #d9e6e8;
  color: #193a42;
}

.admin-main .cta-actions {
  gap: 9px;
  margin-top: 20px;
}

.admin-main .section {
  margin-top: 46px;
}

.admin-main .section-heading {
  align-items: end;
  border-bottom: 1px solid #e1e7ea;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 13px;
}

.admin-main .section-heading h2,
.admin-main .section > h2 {
  color: #22323c;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  letter-spacing: -.035em;
}

.admin-main .article > form.form-stack,
.admin-main .section > form.form-stack,
.admin-main .security-grid > form.form-stack {
  background: #fff;
  border: 1px solid #e0e7ea;
  border-radius: 18px;
  box-shadow: 0 12px 35px rgb(28 47 59 / 5%);
  padding: clamp(20px, 3vw, 32px);
}

.admin-main .form-stack {
  gap: 21px;
}

.admin-main .form-stack label,
.admin-main .fieldset legend {
  color: #344751;
  font-size: .73rem;
  font-weight: 790;
  letter-spacing: .015em;
}

.admin-main .form-stack input[type="email"],
.admin-main .form-stack input[type="number"],
.admin-main .form-stack input[type="password"],
.admin-main .form-stack input[type="text"],
.admin-main .form-stack input[type="datetime-local"],
.admin-main .form-stack input[type="file"],
.admin-main .form-stack input[type="url"],
.admin-main .form-stack select,
.admin-main .form-stack textarea,
.admin-main .media-admin-filters input,
.admin-main .media-admin-filters select {
  background: #f7f9fa;
  border: 1px solid #dbe3e7;
  border-radius: 10px;
  color: #17242d;
  font-size: .84rem;
  min-height: 46px;
  padding-inline: 13px;
  transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.admin-main .form-stack textarea {
  line-height: 1.55;
  min-height: 140px;
  padding-block: 12px;
}

.admin-main .form-stack input:focus,
.admin-main .form-stack select:focus,
.admin-main .form-stack textarea:focus,
.admin-main .media-admin-filters input:focus,
.admin-main .media-admin-filters select:focus {
  background: #fff;
  border-color: #57a8ad;
  box-shadow: 0 0 0 4px rgb(87 168 173 / 13%);
  outline: 0;
}

.admin-main .form-help,
.admin-main label small {
  color: #839198;
  font-size: .68rem;
  font-weight: 520;
}

.admin-main .fieldset {
  background: #f8fafb;
  border-color: #e1e7ea;
  border-radius: 14px;
  padding: 20px;
}

.admin-main .fieldset legend {
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 999px;
  padding: 5px 11px;
}

.admin-main .notice {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  display: flex;
  font-size: .78rem;
  gap: 12px;
  margin: 17px 0;
  min-height: 48px;
  padding: 11px 13px 11px 16px;
  position: relative;
}

.admin-main .notice::before {
  align-items: center;
  border-radius: 50%;
  content: "i";
  display: flex;
  flex: 0 0 auto;
  font-size: .69rem;
  font-weight: 900;
  height: 23px;
  justify-content: center;
  width: 23px;
}

.admin-main .notice p {
  margin: 0;
}

.admin-main .notice-success {
  background: #eaf7f1;
  border-color: #cceadc;
  color: #276548;
}

.admin-main .notice-success::before {
  background: #50a77b;
  color: #fff;
  content: "✓";
}

.admin-main .notice-error {
  background: #fff0ee;
  border-color: #f3d0cb;
  color: #8d3930;
}

.admin-main .notice-error::before {
  background: #c76256;
  color: #fff;
  content: "!";
}

.admin-notice-close {
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: currentColor;
  cursor: pointer;
  font: 700 1rem/1 var(--font-sans);
  margin-left: auto;
  opacity: .58;
  padding: 6px 8px;
}

.admin-notice-close:hover,
.admin-notice-close:focus-visible {
  background: rgb(0 0 0 / 6%);
  opacity: 1;
}

.admin-main .notice.is-dismissed {
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.admin-main .segmented-control {
  background: #e7edef;
  border: 0;
  border-radius: 12px;
  gap: 3px;
  padding: 4px;
  width: max-content;
}

.admin-main .segmented-control a {
  border: 0;
  border-radius: 9px;
  color: #63747d;
  font-size: .72rem;
  font-weight: 760;
  min-height: 36px;
  padding: 8px 12px;
}

.admin-main .segmented-control a:hover,
.admin-main .segmented-control a:focus-visible {
  background: rgb(255 255 255 / 58%);
  color: #20343e;
}

.admin-main .segmented-control a[aria-current="true"] {
  background: #fff;
  box-shadow: 0 4px 13px rgb(28 47 59 / 10%);
  color: #172631;
}

.admin-main .compact-grid {
  gap: 11px;
}

.admin-main .compact-grid .card,
.admin-main .stats-kpi-grid .card,
.admin-main > .article > .grid > .card {
  min-height: 128px;
  padding: 20px;
}

.admin-main .compact-grid .card h2,
.admin-main .stats-kpi-grid .card strong,
.admin-main > .article > .grid > .card h2 {
  color: #192832;
  font-size: clamp(1.8rem, 3.4vw, 2.8rem);
  letter-spacing: -.055em;
  line-height: 1;
  margin: 14px 0 0;
}

.admin-main .admin-list,
.admin-main .admin-data-list,
.admin-main .admin-message-list {
  gap: 9px;
}

.admin-main .admin-row,
.admin-main .admin-message-card,
.admin-main .admin-translation-row {
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 14px;
  box-shadow: 0 2px 4px rgb(27 45 56 / 2%);
  padding: 16px;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.admin-main .admin-row:hover,
.admin-main .admin-message-card:hover,
.admin-main .admin-translation-row:hover {
  border-color: #c7d5da;
  box-shadow: 0 12px 28px rgb(28 47 59 / 7%);
  transform: translateY(-2px);
}

.admin-main .admin-avatar {
  background: linear-gradient(135deg, #244b5e, #3a7d82);
  border-radius: 12px 5px 12px 5px;
  box-shadow: 0 7px 16px rgb(38 91 100 / 14%);
  font-size: .82rem;
}

.admin-main .admin-row h3,
.admin-main .admin-message-card h2,
.admin-main .admin-translation-row h2 {
  color: #23343e;
  font-size: .94rem;
  letter-spacing: -.015em;
}

.admin-main .admin-row .meta,
.admin-main .admin-message-card .meta,
.admin-main .admin-translation-row .meta {
  color: #839198;
  font-size: .68rem;
}

.admin-main .status-pill {
  background: #eaf1f2;
  border: 1px solid #dce6e8;
  border-radius: 999px;
  color: #49636e;
  font-size: .61rem;
  letter-spacing: .055em;
  padding: 5px 8px;
}

.admin-main .status-new,
.admin-main .status-warning {
  background: #fff0e6;
  border-color: #f5dbc8;
  color: #99542b;
}

.admin-main .status-complete,
.admin-main .status-active,
.admin-main .status-sent {
  background: #e8f6ef;
  border-color: #cfe9dc;
  color: #347052;
}

.admin-main .admin-data-list {
  background: #fff;
  border: 1px solid #e1e7ea;
  border-radius: 14px;
  overflow: hidden;
}

.admin-main .admin-data-list > div {
  border-color: #edf1f2;
  min-height: 48px;
  padding: 11px 15px;
}

.admin-main .admin-data-list > div:last-child {
  border-bottom: 0;
}

.admin-main .admin-data-list a {
  color: #375663;
  font-size: .76rem;
  font-weight: 690;
}

.admin-main .admin-data-list strong {
  background: #edf3f4;
  border-radius: 999px;
  color: #38535e;
  font-size: .69rem;
  padding: 4px 8px;
}

.admin-main .admin-data-metrics {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.admin-main .admin-stat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
}

.admin-main .admin-stat-pills div {
  background: #f5f8f8;
  border: 1px solid #e4ecee;
  border-radius: 11px;
  min-width: 92px;
  padding: 8px 10px;
}

.admin-main .admin-stat-pills dt {
  color: #7a8a92;
  font-size: .62rem;
  font-weight: 780;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.admin-main .admin-stat-pills dd {
  color: #223640;
  font-size: 1rem;
  font-weight: 820;
  line-height: 1.1;
  margin: 4px 0 0;
}

.admin-main .stats-kpi-grid {
  gap: 11px;
}

.admin-main .stats-kpi {
  overflow: hidden;
  position: relative;
}

.admin-main .stats-kpi::after {
  background: linear-gradient(90deg, var(--admin-cyan), var(--admin-coral));
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
}

.admin-main .stats-bars {
  background: #fff;
  border-color: #e1e7ea;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgb(28 47 59 / 4%);
  gap: 13px;
  padding: 23px;
}

.admin-main .stats-bar-track {
  background: #edf1f2;
  height: 8px;
}

.admin-main .stats-bar-track span {
  background: linear-gradient(90deg, #3b7f89, #67d6dc);
}

.admin-main .stats-bar-row time,
.admin-main .stats-bar-row strong,
.admin-main .stats-bar-row small {
  font-size: .68rem;
}

.admin-main .secret-box {
  background: #fff;
  border-color: #dfe7ea;
  border-radius: 12px;
  overflow-wrap: anywhere;
}

html[data-theme="dark"] .admin-main > article > h1,
html[data-theme="dark"] .admin-main > section > h1,
html[data-theme="dark"] .admin-main .archive-header h1,
html[data-theme="dark"] .admin-main .section-heading h2,
html[data-theme="dark"] .admin-main .section > h2,
html[data-theme="dark"] .admin-main .compact-grid .card h2,
html[data-theme="dark"] .admin-main .stats-kpi-grid .card strong,
html[data-theme="dark"] .admin-main .admin-row h3,
html[data-theme="dark"] .admin-main .admin-message-card h2,
html[data-theme="dark"] .admin-main .admin-translation-row h2 {
  color: #edf3f5;
}

html[data-theme="dark"] .admin-main .article > form.form-stack,
html[data-theme="dark"] .admin-main .section > form.form-stack,
html[data-theme="dark"] .admin-main .security-grid > form.form-stack,
html[data-theme="dark"] .admin-main .admin-row,
html[data-theme="dark"] .admin-main .admin-message-card,
html[data-theme="dark"] .admin-main .admin-translation-row,
html[data-theme="dark"] .admin-main .admin-data-list,
html[data-theme="dark"] .admin-main .stats-bars,
html[data-theme="dark"] .admin-main .secret-box {
  background: #191f24;
  border-color: #2d373e;
}

html[data-theme="dark"] .admin-main .form-stack input,
html[data-theme="dark"] .admin-main .form-stack select,
html[data-theme="dark"] .admin-main .form-stack textarea,
html[data-theme="dark"] .admin-main .fieldset {
  background: #151a1e;
  border-color: #303a41;
  color: #ecf2f4;
}

@media (max-width: 760px) {
  .admin-main .segmented-control {
    max-width: 100%;
    overflow-x: auto;
  }

  .admin-main .stats-columns {
    grid-template-columns: 1fr;
  }

  .admin-main .stats-bar-row {
    grid-template-columns: 42px minmax(75px, 1fr) 36px;
  }

  .admin-main .stats-bar-row small {
    display: none;
  }

  .admin-main .article > form.form-stack,
  .admin-main .section > form.form-stack,
  .admin-main .security-grid > form.form-stack {
    border-radius: 14px;
    padding: 18px;
  }
}

.search-page-form {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 0 30px;
}

.search-page-form input {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-ink);
  font: inherit;
  min-height: 46px;
  padding: 0 18px;
}

.search-suggestion-panel {
  background:
    radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--color-accent), transparent 88%), transparent 9rem),
    var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 10%);
  border-radius: 20px 7px 22px 7px;
  box-shadow: 0 14px 34px rgb(23 25 28 / 6%);
  padding: 20px;
}

.search-suggestion-panel .eyebrow {
  color: var(--color-accent-dark);
  font-size: .62rem;
  margin-bottom: 4px;
}

.search-suggestion-panel h2 {
  border-bottom: 1px solid color-mix(in srgb, var(--color-line) 78%, var(--color-accent));
  font-size: 1.18rem;
  letter-spacing: -.03em;
  margin: 13px 0 12px;
  padding-bottom: 10px;
}

.search-suggestion-panel + .search-suggestion-panel,
.search-suggestion-panel + .article-ad,
.article-ad + .search-suggestion-panel {
  margin-top: 18px;
}

.search-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.search-tags a {
  align-items: center;
  background: color-mix(in srgb, var(--color-paper) 74%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-accent));
  border-radius: 999px;
  box-shadow: 0 8px 18px rgb(23 25 28 / 4%);
  color: var(--color-ink);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 760;
  min-height: 34px;
  padding: 0 12px;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 120ms ease;
}

.search-tags a:hover,
.search-tags a:focus {
  background: var(--color-ink);
  border-color: var(--color-ink);
  box-shadow: 0 12px 24px rgb(23 25 28 / 12%);
  color: var(--color-paper);
  outline: 0;
  transform: translateY(-1px);
}

.search-tags a:active {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: #fff;
  transform: scale(.96);
}

.search-suggestion-panel .sidebar-list {
  gap: 8px;
}

.search-suggestion-panel .sidebar-list a {
  background: color-mix(in srgb, var(--color-paper) 66%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-line) 84%, var(--color-accent));
  border-radius: 14px 5px 14px 5px;
  margin: 0;
  padding: 12px 13px;
}

.search-suggestion-panel .sidebar-list a::after {
  color: var(--color-accent);
  content: "→";
  flex: 0 0 auto;
  transition: color 160ms ease, transform 160ms ease;
}

.search-suggestion-panel .sidebar-list a:hover,
.search-suggestion-panel .sidebar-list a:focus-visible {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-paper);
  outline: 0;
  transform: translateY(-1px);
}

.search-suggestion-panel .sidebar-list a:hover::after,
.search-suggestion-panel .sidebar-list a:focus-visible::after {
  color: #f2b696;
  transform: translateX(3px);
}

.bible-search-suggestions {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.bible-search-suggestions a,
.bible-search-suggestions span {
  display: block;
}

.bible-search-suggestions a {
  background: rgb(255 255 255 / 10%);
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 14px 5px 14px 5px;
  color: inherit;
  padding: 13px;
  position: relative;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 120ms ease;
}

.bible-search-suggestions a::after {
  color: #ffd7c8;
  content: "→";
  font-size: .95rem;
  position: absolute;
  right: 13px;
  top: 12px;
  transition: transform 160ms ease;
}

.bible-search-suggestions a:hover,
.bible-search-suggestions a:focus-visible {
  background: rgb(255 255 255 / 17%);
  border-color: rgb(255 255 255 / 38%);
  box-shadow: 0 14px 26px rgb(0 0 0 / 12%);
  outline: 0;
  transform: translateY(-1px);
}

.bible-search-suggestions a:hover::after,
.bible-search-suggestions a:focus-visible::after {
  transform: translateX(3px);
}

.bible-search-suggestions a:active {
  background: rgb(0 0 0 / 18%);
  transform: scale(.98);
}

.bible-search-suggestions strong {
  color: #fffaf5;
  padding-right: 24px;
}

.bible-search-suggestions span {
  font-size: .83rem;
  margin-top: 3px;
  opacity: .82;
}

.admin-shortcuts .card {
  display: grid;
  gap: 5px;
}

.admin-dashboard-kpis .card {
  color: var(--color-ink);
  display: grid;
  gap: 5px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-dashboard-kpis .card:hover,
.admin-dashboard-kpis .card:focus-visible {
  border-color: color-mix(in srgb, var(--color-blue), var(--color-line) 38%);
  box-shadow: 0 14px 30px rgb(36 95 131 / 10%);
  transform: translateY(-2px);
}

.admin-dashboard-kpis .card > span {
  color: var(--color-accent-dark);
  font-size: .8rem;
  font-weight: 760;
}

.admin-message-list,
.admin-data-list {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.admin-message-card > div:first-child,
.admin-translation-row,
.inline-admin-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.inline-admin-form select {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-ink);
  font: inherit;
  min-height: 42px;
  padding: 0 34px 0 13px;
}

.admin-translation-form {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(150px, .35fr) minmax(260px, 1fr) auto;
  width: min(100%, 760px);
}

.admin-translation-form label {
  color: var(--color-muted);
  display: grid;
  font-size: .75rem;
  font-weight: 760;
  gap: 6px;
}

.admin-translation-form textarea {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 12px 5px 12px 5px;
  color: var(--color-ink);
  font: inherit;
  min-height: 80px;
  padding: 10px 12px;
  resize: vertical;
}

.status-pill {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 22%);
  border-radius: 999px;
  display: inline-flex;
  font-size: .76rem;
  font-weight: 850;
  padding: 5px 9px;
  text-transform: uppercase;
}

.status-new {
  background: color-mix(in srgb, var(--color-accent), var(--color-paper) 75%);
  color: var(--color-accent-dark);
}

.admin-filter {
  margin-top: 20px;
}

.admin-data-list > div {
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  display: flex;
  justify-content: space-between;
  padding: 9px 0;
}

.stats-kpi-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin-top: 24px;
}

.stats-kpi strong {
  display: block;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1;
}

.stats-columns {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stats-bars {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 18px 7px 18px 7px;
  display: grid;
  gap: 11px;
  padding: 18px;
}

.stats-bar-row {
  align-items: center;
  display: grid;
  font-size: .86rem;
  gap: 10px;
  grid-template-columns: 48px minmax(90px, 1fr) 48px 82px;
}

.stats-bar-track {
  background: color-mix(in srgb, var(--color-line), transparent 35%);
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}

.stats-bar-track span {
  background: linear-gradient(90deg, #245f83, #7f3f39);
  border-radius: inherit;
  display: block;
  height: 100%;
}

.stats-bar-row strong {
  text-align: right;
}

.stats-bar-row small {
  color: var(--color-muted);
}

.media-admin-header {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.media-admin-header .button {
  flex: 0 0 auto;
}

.media-admin-filters {
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 18px 7px 18px 7px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) minmax(190px, auto) auto;
  margin: 26px 0;
  padding: 14px;
}

.media-admin-filters input,
.media-admin-filters select {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-ink);
  font: inherit;
  min-height: 44px;
  padding: 0 16px;
  width: 100%;
}

.media-library-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  margin-top: 26px;
}

.media-library-card {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 20px 7px 20px 7px;
  box-shadow: 0 16px 35px rgb(24 62 81 / 7%);
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.media-library-card:hover {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 50%);
  box-shadow: 0 20px 42px rgb(24 62 81 / 13%);
  transform: translateY(-3px);
}

.media-library-card:active {
  transform: translateY(0) scale(.985);
}

.media-library-preview {
  aspect-ratio: 8 / 5;
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 40%);
  display: grid;
  overflow: hidden;
  place-items: center;
}

.media-library-preview img {
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
  width: 100%;
}

.media-library-card:hover .media-library-preview img {
  transform: scale(1.035);
}

.media-library-body {
  padding: 15px 16px 17px;
}

.media-library-body h2 {
  font-size: 1.05rem;
  margin: 10px 0 5px;
}

.media-library-status {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.status-warning {
  background: #fff0d8;
  color: #7e4913;
}

.status-complete {
  background: #dff3e9;
  color: #236344;
}

.media-empty-state,
.media-upload-intro {
  background: color-mix(in srgb, var(--color-soft-blue), var(--color-paper) 55%);
  border: 1px dashed color-mix(in srgb, var(--color-accent), var(--color-line) 60%);
  border-radius: 24px 8px 24px 8px;
  padding: 44px;
  text-align: center;
}

.media-editor-layout {
  align-items: start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(280px, .82fr) minmax(400px, 1.18fr);
  margin-top: 28px;
}

.media-editor-preview {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 22px 8px 22px 8px;
  margin: 0;
  overflow: hidden;
}

.media-editor-preview img {
  display: block;
  height: auto;
  max-height: 580px;
  object-fit: contain;
  width: 100%;
}

.media-editor-preview figcaption {
  align-items: center;
  display: flex;
  font-size: .86rem;
  justify-content: space-between;
  padding: 11px 14px;
}

.media-upload-intro {
  display: grid;
  gap: 8px;
  min-height: 280px;
  place-content: center;
}

.media-upload-intro span {
  font-size: 3rem;
  font-weight: 300;
}

.media-variants {
  margin-top: 24px;
}

.media-variants > div {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
}

.media-variants a {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 12px 5px 12px 5px;
  overflow: hidden;
}

.media-variants img {
  aspect-ratio: 8 / 5;
  display: block;
  object-fit: cover;
  width: 100%;
}

.media-variants span {
  display: block;
  font-size: .75rem;
  font-weight: 750;
  padding: 7px;
}

.media-editor-form {
  margin-top: 0;
}

.media-usage-panel ul {
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 0;
}

.media-usage-panel li {
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  display: flex;
  justify-content: space-between;
  padding: 9px 0;
}

.button-danger {
  background: #8f302b;
  border-color: #8f302b;
  color: #fff;
}

.button-danger:hover,
.button-danger:focus-visible {
  background: #6f211d;
  border-color: #6f211d;
  color: #fff;
}

.button-danger:active {
  background: #501613;
  transform: scale(.96);
}

.button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

@media (max-width: 760px) {
  .search-page-form {
    grid-template-columns: 1fr;
  }

  .media-admin-header {
    align-items: start;
    flex-direction: column;
  }

  .media-admin-filters,
  .media-editor-layout {
    grid-template-columns: 1fr;
  }

  .media-variants > div {
    grid-template-columns: 1fr;
  }
}

/* Text-size preference: scale reading text, not editorial display titles. */
.article-body p,
.article-body li {
  font-size: calc(1.14rem * var(--site-text-scale));
}

.meditation-body p,
.meditation-body li {
  font-size: calc(1.16rem * var(--site-text-scale));
}

.article .lead {
  font-size: clamp(calc(1.05rem * var(--site-text-scale)), calc(2vw * var(--site-text-scale)), calc(1.26rem * var(--site-text-scale)));
}

.proverbs-intro,
.home-masthead-copy > p:not(.eyebrow),
.global-search-hero-copy > p:not(.eyebrow),
.bible-landing-copy p,
.bible-search-hero p,
.contributors-hero > div:first-child > p:last-child,
.gospel-hero-copy > p:not(.eyebrow),
.about-hero-copy > p:last-child,
.media-hub-copy > p:last-child {
  font-size: calc(1.08rem * var(--site-text-scale));
}

.home-lead-copy > p:not(.eyebrow):not(.home-lead-byline),
.content-row-body > p,
.library-featured-copy p,
.library-card p,
.book-detail-copy p,
.contributor-profile-intro > p,
.gospel-movement-copy > p:not(.eyebrow):not(.gospel-scripture),
.proverbs-day-card blockquote,
.proverbs-day-card p {
  font-size: calc(1rem * var(--site-text-scale));
}

.home-article-card > div > p:not(.home-article-meta),
.book-related-excerpt,
.contributor-directory-copy > p:not(.eyebrow),
.search-suggestion-panel p,
.article-ad p {
  font-size: calc(.88rem * var(--site-text-scale));
}

.objections-page {
  display: grid;
  gap: clamp(24px, 5vw, 56px);
}

.gospel-hero,
.worldview-hero,
.objections-hero,
.about-hero,
.contact-intro {
  margin-inline: calc(50% - min(680px, 50vw - 20px));
}

.objections-hero {
  align-items: end;
  background:
    radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--color-accent), transparent 76%), transparent 14rem),
    radial-gradient(circle at 90% 24%, color-mix(in srgb, var(--color-blue), transparent 82%), transparent 18rem),
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface), #fff 8%), color-mix(in srgb, var(--color-paper), #fff 5%));
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 12%);
  border-radius: 30px 8px 32px 8px;
  box-shadow: 0 24px 58px rgb(23 25 28 / 9%);
  display: grid;
  gap: clamp(24px, 5vw, 56px);
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: hidden;
  padding: clamp(30px, 7vw, 76px);
}

.objections-hero h1 {
  font-size: clamp(3rem, 7vw, 6.4rem);
  letter-spacing: -.06em;
  line-height: .92;
  margin: 16px 0 18px;
}

.objections-hero h1 em {
  color: var(--color-accent-dark);
  font-style: italic;
}

.objections-hero p:not(.eyebrow) {
  color: var(--color-muted);
  font-size: clamp(1.04rem, 2vw, 1.24rem);
  max-width: 760px;
}

.objections-hero-nav {
  display: grid;
  gap: 14px;
  min-width: min(320px, 100%);
}

.objections-hero-nav a {
  align-content: end;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-surface) 92%, #fff), color-mix(in srgb, var(--color-soft-blue) 55%, var(--color-surface))),
    var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-accent) 20%);
  border-radius: 18px 6px 20px 6px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 48%), 0 16px 34px rgb(23 25 28 / 8%);
  color: var(--color-ink);
  display: grid;
  font-size: .8rem;
  font-weight: 860;
  gap: 16px;
  letter-spacing: .055em;
  min-height: 150px;
  overflow: hidden;
  padding: 22px;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.objections-hero-nav a::after {
  align-items: center;
  background: color-mix(in srgb, var(--color-accent), transparent 84%);
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 62%);
  border-radius: 50%;
  color: var(--color-accent-dark);
  content: "↓";
  display: flex;
  font-size: 1rem;
  height: 34px;
  justify-content: center;
  position: absolute;
  right: 18px;
  top: 18px;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
  width: 34px;
}

.objections-hero-nav a:hover,
.objections-hero-nav a:focus-visible {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 13%, var(--color-surface)), color-mix(in srgb, var(--color-soft) 32%, var(--color-surface))),
    var(--color-surface);
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 28%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 58%), 0 22px 46px rgb(154 72 61 / 16%);
  color: var(--color-accent-dark);
  outline: 0;
  transform: translateY(-3px);
}

.objections-hero-nav a:hover::after,
.objections-hero-nav a:focus-visible::after {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: #fffaf5;
  transform: translateY(3px);
}

.objections-hero-nav a:active {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 22%, var(--color-surface)), color-mix(in srgb, var(--color-soft) 42%, var(--color-surface))),
    var(--color-surface);
  border-color: var(--color-accent);
  box-shadow: inset 0 4px 12px rgb(112 37 31 / 12%);
  transform: translateY(1px) scale(.985);
}

.objections-hero-nav span {
  color: var(--color-accent-dark);
  display: block;
  font-size: clamp(3.1rem, 6vw, 4.7rem);
  font-weight: 930;
  letter-spacing: -.08em;
  line-height: .78;
}

.objections-intro {
  border-bottom: 1px solid var(--color-line);
  border-top: 1px solid var(--color-line);
  display: grid;
  gap: 16px 30px;
  grid-template-columns: minmax(180px, .38fr) minmax(0, .62fr);
  padding: clamp(24px, 4vw, 38px) 0;
}

.objections-intro h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -.045em;
  margin: 0;
}

.objections-intro > p:last-child {
  color: var(--color-muted);
  font-size: 1.03rem;
  margin: 0;
}

html[data-theme="dark"] .objections-hero p:not(.eyebrow),
html[data-theme="dark"] .objections-intro > p:last-child {
  color: #e8c9ba;
}

.objections-columns {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.objections-panel {
  background: color-mix(in srgb, var(--color-surface), #fff 7%);
  border: 1px solid color-mix(in srgb, var(--color-line), var(--color-blue) 7%);
  border-radius: 24px 8px 26px 8px;
  box-shadow: 0 20px 48px rgb(23 25 28 / 7%);
  padding: clamp(18px, 3vw, 28px);
}

.objections-panel-objections {
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--color-accent), transparent 88%), transparent 14rem),
    color-mix(in srgb, var(--color-surface), #fff 7%);
}

.objections-panel-arguments {
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--color-blue), transparent 86%), transparent 14rem),
    color-mix(in srgb, var(--color-surface), #fff 7%);
}

.objections-panel-heading {
  margin-bottom: 18px;
}

.objections-panel-heading h2 {
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  letter-spacing: -.04em;
  margin: 6px 0 0;
}

.objections-card-grid {
  display: grid;
  gap: 10px;
}

.objections-card {
  background: color-mix(in srgb, var(--color-paper), var(--color-surface) 28%);
  border: 1px solid color-mix(in srgb, var(--color-line), transparent 10%);
  border-radius: 15px 5px 16px 5px;
  cursor: default;
  min-height: 176px;
  padding: 18px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.objections-card:hover {
  border-color: color-mix(in srgb, var(--color-accent), var(--color-line) 42%);
  box-shadow: 0 16px 34px rgb(23 25 28 / 10%);
  transform: translateY(-2px);
}

.objections-card-meta {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 12px;
}

.objections-card-meta span {
  color: var(--color-accent-dark);
  display: block;
  font-size: .7rem;
  font-weight: 860;
  letter-spacing: .12em;
}

.objections-card-meta small {
  background: color-mix(in srgb, var(--color-accent), transparent 88%);
  border: 1px solid color-mix(in srgb, var(--color-accent), transparent 74%);
  border-radius: 999px;
  color: color-mix(in srgb, var(--color-accent-dark), var(--color-text) 20%);
  font-size: .62rem;
  font-weight: 820;
  letter-spacing: .055em;
  padding: 4px 7px;
  text-transform: uppercase;
  white-space: nowrap;
}

.objections-card h3 {
  font-size: clamp(1.05rem, 1.8vw, 1.32rem);
  letter-spacing: -.02em;
  line-height: 1.15;
  margin-bottom: 10px;
}

.objections-card p {
  color: var(--color-muted);
  font-size: .9rem;
  line-height: 1.55;
  margin: 0;
}

.objections-closing {
  align-items: center;
  background: var(--color-blue);
  border-radius: 22px 7px 24px 7px;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
  justify-content: space-between;
  padding: clamp(24px, 5vw, 42px);
}

.objections-closing p {
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  font-style: italic;
  line-height: 1.18;
  margin: 0;
  max-width: 680px;
}

.objections-closing > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 980px) {
  .objections-hero,
  .objections-intro,
  .objections-columns {
    grid-template-columns: 1fr;
  }

  .objections-hero-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .objections-hero-nav {
    grid-template-columns: 1fr;
  }

  .objections-hero-nav a {
    min-height: 125px;
  }

  .objections-card {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* Theme corrections kept last so the public theme cannot repaint Studio. */
html[data-theme="dark"] body.admin-body {
  background: #101418;
  color: #edf2f4;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) body.admin-body {
    background: #101418;
    color: #edf2f4;
  }

  :root:not([data-theme]) .admin-topbar {
    background: rgb(19 24 29 / 88%);
    border-color: #293138;
  }

  :root:not([data-theme]) .admin-topbar-title strong,
  :root:not([data-theme]) .admin-section-heading h2,
  :root:not([data-theme]) .admin-section-heading > a,
  :root:not([data-theme]) .admin-kpi-card,
  :root:not([data-theme]) .admin-tool-card {
    color: #eff4f5;
  }

  :root:not([data-theme]) .admin-theme-switch,
  :root:not([data-theme]) .admin-menu-toggle {
    background: #262d33;
  }

  :root:not([data-theme]) .admin-theme-switch button[aria-pressed="true"] {
    background: #394149;
    color: #fff;
  }

  :root:not([data-theme]) .admin-view-site {
    border-color: #343e45;
    color: #c5d0d5;
  }

  :root:not([data-theme]) .admin-main .card,
  :root:not([data-theme]) .admin-kpi-card,
  :root:not([data-theme]) .admin-tool-card,
  :root:not([data-theme]) .admin-import-list {
    background: #191f24;
    border-color: #2b353c;
  }

  :root:not([data-theme]) .admin-tool-card > span {
    background: #20373a;
    color: #84d7d3;
  }

  :root:not([data-theme]) .admin-import-list > article + article {
    border-color: #293138;
  }

  :root:not([data-theme]) .admin-import-progress {
    background: #303940;
  }
}
