@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&family=Instrument+Sans:wght@200;300;500;600;700&display=swap');

:root {
  --ink: #16181A;
  --ink-soft: #262A2D;

  --color-bg: #F5F4F3;
  --color-surface: #E8E7E6;
  --color-text: #1B1D1E;
  --color-divider: color-mix(in srgb, #1B1D1E 38%, transparent);

  
  --color-accent: #B07908;
  --color-accent-100: color-mix(in srgb, #B07908 12%, #FFFFFF);
  --color-accent-200: #EFE4CE;
  --color-accent-300: color-mix(in srgb, #B07908 52%, #FFFFFF);
  --color-accent-400: #CBA75C;
  --color-accent-500: #B07908;
  --color-accent-600: color-mix(in srgb, #B07908 86%, #000000);
  --color-accent-700: color-mix(in srgb, #B07908 74%, #000000);
  --color-accent-800: color-mix(in srgb, #B07908 62%, #000000);
  --color-accent-900: color-mix(in srgb, #B07908 40%, #000000);

  --color-neutral-100: #f8f4f4;
  --color-neutral-200: #eae7e7;
  --color-neutral-300: #d7d3d3;
  --color-neutral-400: #bab6b6;
  --color-neutral-500: #9b9797;
  --color-neutral-600: #7d7979;
  --color-neutral-700: #605d5d;
  --color-neutral-800: #444141;
  --color-neutral-900: #2d2b2b;

  --font-heading: "Archivo", system-ui, sans-serif;
  --font-heading-weight: 800;
  --font-body: "Archivo", system-ui, sans-serif;
  --logo-font: "Instrument Sans", sans-serif;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;

  --radius: 0px;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;

  
  --on-accent: #FFFFFF;

  
  --color-accent-fill: color-mix(in srgb, #B07908 86%, #000000);

  --gutter: 40px;

  
  --header-h: 130px;

  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);
}

.page-index {
  --color-accent-100: color-mix(in srgb, #B07908 14%, #fff);
  --color-accent-200: color-mix(in srgb, #B07908 30%, #fff);
  --color-accent-300: color-mix(in srgb, #B07908 52%, #fff);
  --color-accent-400: color-mix(in srgb, #B07908 74%, #fff);
  --color-accent-600: color-mix(in srgb, #B07908 84%, #000);
  --color-accent-700: color-mix(in srgb, #B07908 64%, #000);
  --color-accent-800: color-mix(in srgb, #B07908 46%, #000);
  --color-accent-900: color-mix(in srgb, #B07908 32%, #000);
}

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; }
html { scroll-padding-top: calc(var(--header-h) + 12px); }

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
  
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  line-height: 1.12;
  letter-spacing: -0.015em;
  margin: 0 0 var(--space-2);
}
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }

p { margin: 0 0 var(--space-3); }

a { color: var(--color-accent-700); text-underline-offset: 3px; }
a:hover { color: var(--color-accent-800); }

img { display: block; max-width: 100%; }
figure { margin: 0; }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }

.text-muted { color: color-mix(in srgb, var(--color-text) 62%, transparent); }
.grayscale { filter: grayscale(1) contrast(1.08); }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text);
  background: transparent; border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }

.btn-primary { background: var(--color-accent-fill); color: var(--on-accent); }
.btn-primary:hover { background: var(--color-accent-700); color: var(--on-accent); }
.btn-primary:active { background: var(--color-accent-800); color: var(--on-accent); }

.btn-secondary { border-color: var(--color-divider); border-width: 2px; }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }

.btn-onink {
  display: inline-block;
  font-family: var(--font-heading); font-weight: 700; font-size: 15px;
  color: #FFFCF7; text-decoration: none;
  border: 2px solid rgba(255, 252, 247, 0.42);
  padding: 17px 28px;
  transition: background 200ms ease, border-color 200ms ease;
}
.btn-onink:hover {
  background: var(--color-accent-fill); border-color: var(--color-accent-fill); color: var(--on-accent);
}

.field > label {
  display: block; font-size: 12px; margin-bottom: 5px;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}
.input {
  width: 100%; min-height: 36px; padding: 6px 10px; font: inherit;
  font-size: 14px; color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 2px solid var(--color-divider); border-radius: var(--radius-md);
}
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }
textarea.input { min-height: 90px; resize: vertical; }

.tag {
  display: inline-flex; align-items: center; font-size: 11px;
  letter-spacing: 0.02em; padding: 3px 10px; border-radius: var(--radius-md);
}
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }

.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th {
  text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 62%, transparent);
  padding: var(--space-2); border-bottom: 2px solid var(--color-divider);
}
.table td { padding: var(--space-2); border-bottom: 2px solid var(--color-divider); }

.visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--ink); color: #FFFCF7; padding: 12px 18px;
  font-family: var(--font-heading); font-weight: 700; font-size: 14px;
  text-decoration: none;
}
.skip-link:focus { left: 0; color: #FFFCF7; }

.tz {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: color-mix(in srgb, currentColor 80%, transparent);
  vertical-align: middle;
  white-space: nowrap;
}

@keyframes mccRuleIn {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 0.34; }
}
@keyframes mccRuleBreathe {
  0%, 100% { opacity: 0.14; }
  50% { opacity: 0.58; }
}

@keyframes mccNextPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.035); opacity: 0.72; }
}
@keyframes mccNextDot {
  0%, 100% { opacity: 0.28; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1); }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #FBF7F0;
  border-bottom: 2px solid var(--color-accent);
  padding: 18px var(--gutter);
  display: flex;
  align-items: center;
  gap: 32px;
  transition: background 240ms ease, box-shadow 240ms ease;
}

.site-header[data-stuck] {
  background: color-mix(in srgb, #FBF7F0 82%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(1.5);
  backdrop-filter: blur(16px) saturate(1.5);
  box-shadow: 0 8px 28px color-mix(in srgb, #2d2b2b 13%, transparent);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header[data-stuck] { background: #FBF7F0; }
}

.brand {
  margin-right: auto;
  flex: none;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand__mark {
  width: 92px; height: 92px;
  border-radius: 50%;
  position: relative;
  display: inline-block;
  overflow: hidden;
  flex: none;
}

.brand__mark img {
  position: absolute; inset: -6%;
  width: 112%; height: 112%;
  object-fit: cover;
}

.brand__text {
  display: inline-flex; flex-direction: column; gap: 8px;
  position: relative; top: 1.5px;
}

.brand__wordmark {
  font-family: var(--logo-font);
  font-size: 24px; line-height: 1; letter-spacing: -0.03em;
  white-space: nowrap;
  color: color-mix(in srgb, var(--ink) 85%, #FBF7F0);
}
.brand__wordmark-strong { font-weight: 700; }
.brand__wordmark-soft { font-weight: 500; color: color-mix(in srgb, var(--ink) 62%, transparent); }

.brand__rule {
  height: 2px; display: block;
  background: var(--color-accent);
  opacity: 0.34;
  transform-origin: left center;
  animation: mccRuleIn 1100ms cubic-bezier(0.16, 1, 0.3, 1) both,
             mccRuleBreathe 3.2s ease-in-out 1.2s infinite;
}

.brand__verse { display: block; max-width: 34ch; }
.brand__verse-text {
  display: block;
  font-family: var(--logo-font); font-weight: 300;
  font-size: 13px; line-height: 1.4;
  color: color-mix(in srgb, var(--ink) 78%, transparent);
  text-wrap: pretty;
}

.page-index .brand__verse-text {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; max-height: 2.8em;
}
.brand__verse-ref {
  display: block; margin-top: 3px;
  font-family: var(--font-heading); font-weight: 700;
  font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-700);
}

.nav { display: flex; align-items: center; gap: 18px; }
.nav a {
  font-size: 13.5px; font-weight: 600;
  white-space: nowrap;
  color: var(--ink);
  text-decoration: none;
}
.nav a:hover { color: var(--color-accent-700); }

body:not(.page-index) .nav a[aria-current="page"]:not(.nav__cta) {
  font-weight: 700;
  color: var(--color-accent-700);
  border-bottom: 2px solid var(--color-accent);
  padding-bottom: 3px;
}

.nav a.nav__cta { font-size: 13.5px; padding: 13px 22px; color: var(--on-accent); font-weight: 800; }
.nav a.nav__cta:hover { color: var(--on-accent); }

.nav-toggle { display: none; }

.site-footer {
  position: relative;
  overflow: hidden;
  background: var(--ink);
  color: #D6D6D2;
  padding: 62px 44px 26px;
}
.site-footer__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 30%;
  filter: grayscale(1) contrast(1.04);
  opacity: 0.09;
}

.site-footer__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 1.1fr) minmax(150px, 0.5fr) minmax(150px, 0.5fr);
  gap: 44px;
}

.site-footer__motto {
  margin: 0 0 18px;
  font-family: var(--logo-font); font-weight: 200;
  font-size: clamp(26px, 2.6vw, 34px); line-height: 1.24; letter-spacing: -0.02em;
  color: #FFFCF7;
  max-width: 26ch;
  text-wrap: pretty;
}
.site-footer__motto span { font-weight: 700; color: var(--color-accent); }

.site-footer__meta {
  margin: 0 0 22px;
  font-size: 14.5px; line-height: 1.6;
  color: #9C9C97;
  max-width: 36ch;
}

.site-footer__social { display: flex; gap: 8px; }
.soc {
  width: 48px; height: 48px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: none;
  background: rgba(255, 255, 255, 0.08);
  color: #F2F1EE;
  transition: background 220ms ease, color 220ms ease,
              transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.soc:hover { background: var(--color-accent); color: var(--on-accent); transform: translateY(-2px); }

.site-footer__heading {
  margin: 0 0 12px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.site-footer__link {
  display: block;
  padding: 6px 0;
  font-size: 14.5px; line-height: 1.5;
  color: #D6D6D2;
  text-decoration: none;
}
.site-footer__link:hover { color: #fff; }

.site-footer__legal {
  position: relative;
  margin: 40px 0 0;
  padding-top: 20px;
  border-top: 2px solid rgba(255, 255, 255, 0.14);
  display: flex;
  gap: 18px 28px;
  flex-wrap: wrap;
  align-items: center;
}
.site-footer__legal p { margin: 0; font-size: 12.5px; color: #8A8A84; }
.site-footer__legal nav {
  margin-left: auto;
  display: flex; gap: 22px; flex-wrap: wrap;
  font-size: 12.5px;
}

.site-footer__legal a {
  display: inline-block; padding: 4px 0;
  color: #8A8A84; text-decoration: none;
}
.site-footer__legal a:hover { color: #fff; }

.site-footer__craft a {
  color: #B4B4AD;
  font-weight: 600;
  text-decoration: none;
}
.site-footer__craft a:hover { color: #fff; }

.band { padding: 56px var(--gutter); }
.band--paper { background: var(--color-bg); }
.band--surface { background: var(--color-surface); }
.band--ink { background: var(--ink); }

.band__grid {
  display: grid;
  grid-template-columns: 11em 1fr;
  gap: 48px;
}

.band__label {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.band--ink .band__label { color: var(--color-accent-300); }

.band__label--300 { color: var(--color-accent-300); }
.band--ink .band__label--400,
.band__label--400 { color: var(--color-accent-400); }
.band__label--wide { letter-spacing: 0.18em; }

.hero {
  position: relative;
  min-height: 720px;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: var(--ink);
}

.hero__photo { position: absolute; inset: 0; filter: contrast(1.34) saturate(1.30) brightness(0.86); }
.hero__photo img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 30%;
}

@keyframes mccHeroDrift {
  from { transform: scale(1); }
  to { transform: scale(1.1); }
}

.hero__photo img[data-hero-slide] {
  opacity: 0;
  transition: opacity 1100ms ease;
  will-change: opacity;
}
.hero__photo img[data-hero-slide].is-active {
  opacity: 1;
  animation: mccHeroDrift 10s linear both;
}

.hero.is-paused .hero__photo img[data-hero-slide].is-active { animation-play-state: paused; }

.hero__photo img[data-hero-slide]:first-child { opacity: 1; }
.js .hero__photo img[data-hero-slide]:first-child:not(.is-active) { opacity: 0; }

.hero__slider {
  position: absolute; left: var(--gutter); bottom: 22px; z-index: 3;
  display: flex; align-items: center; gap: 14px;
}
.hero__slider[hidden] { display: none; }

.hero__pause {
  width: 34px; height: 34px; flex: none; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  border: 0; color: #fff; cursor: pointer;
  transition: background 200ms ease;
}
.hero__pause:hover { background: rgba(255, 255, 255, 0.24); }
.hero__pause:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.hero__pause .hero__icon-play { display: none; }
.hero__pause[aria-pressed="true"] .hero__icon-pause { display: none; }
.hero__pause[aria-pressed="true"] .hero__icon-play { display: block; }

.hero__dots {
  display: flex; gap: 8px; margin: -10px 0; padding: 0; list-style: none;
}
.hero__dot {
  display: block;
  box-sizing: content-box;
  width: 34px; height: 4px; padding: 10px 0;
  background: rgba(255, 255, 255, 0.32);
  background-clip: content-box;
  border: 0; cursor: pointer;
  transition: background 220ms ease;
}

.hero__dot:hover { background-color: rgba(255, 255, 255, 0.55); }
.hero__dot[aria-current="true"] { background-color: var(--color-accent); }
.hero__dot:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.hero__wash { position: absolute; inset: 0; }
.hero__wash--1 {
  background: radial-gradient(72% 58% at 74% 8%, rgba(255,214,150,0.92) 0%, rgba(255,190,110,0.42) 34%, rgba(255,170,90,0) 68%);
  mix-blend-mode: screen; opacity: 0.72;
}
.hero__wash--2 {
  background: radial-gradient(60% 46% at 74% 10%, rgba(255,238,205,0.75) 0%, rgba(255,238,205,0) 62%);
  mix-blend-mode: soft-light;
}
.hero__wash--3 {
  background: radial-gradient(130% 105% at 6% 100%, rgba(8,42,66,0.92) 0%, rgba(10,48,74,0.45) 42%, rgba(12,54,82,0) 72%);
  mix-blend-mode: multiply;
}
.hero__wash--4 {
  background: linear-gradient(128deg, rgba(14,66,96,0.78) 0%, rgba(14,66,96,0) 42%, rgba(255,196,132,0.46) 100%);
  mix-blend-mode: overlay;
}
.hero__wash--5 {
  background: linear-gradient(180deg, rgba(255,246,232,0.30) 0%, rgba(255,246,232,0) 26%, rgba(4,10,16,0.30) 78%, rgba(4,10,16,0.62) 100%);
  mix-blend-mode: color-dodge; opacity: 0.6;
}
.hero__wash--6 {
  background: linear-gradient(176deg, rgba(5,12,20,0.62) 0%, rgba(5,12,20,0.00) 30%, rgba(4,10,16,0.72) 68%, rgba(3,7,12,0.97) 100%);
}
.hero__wash--7 {
  background: radial-gradient(118% 96% at 50% 46%, rgba(0,0,0,0) 44%, rgba(0,0,0,0.58) 100%);
}

.hero__inner {
  position: relative;
  padding: 0 var(--gutter) 64px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: end;
}

.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 26px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.hero__eyebrow::before { content: ""; width: 44px; height: 4px; background: var(--color-accent); display: block; }

.hero__title {
  font-size: 96px; line-height: 0.88; letter-spacing: -0.042em;
  margin: 0 0 20px;
  color: #FFFCF7;
  text-shadow: 0 4px 60px rgba(0,0,0,0.62);
}
.hero__title span { display: block; }

.hero__strap {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 40px; line-height: 1; letter-spacing: -0.028em;
  margin: 0 0 28px;
  color: #FFD9A0;
}

.hero__lede {
  margin: 0 0 34px;
  font-size: 20px; line-height: 1.5;
  color: #E4E3E1;
  max-width: 40ch;
}

.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero__actions .btn-primary { font-size: 16px; padding: 20px 34px; }
.hero__actions .btn-glass {
  font-size: 16px; padding: 20px 28px;
  background: rgba(255,255,255,0.10); color: #fff;
}
.hero__actions .btn-glass:hover { background: rgba(255,255,255,0.18); color: #fff; }

.week {
  background: rgba(10,12,14,0.30);
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  outline: 1px solid rgba(255,255,255,0.16);
  outline-offset: -1px;
  padding: 30px 30px 28px;
  width: 372px;
  box-shadow: 0 30px 70px rgba(0,0,0,0.45);
}
.week__label {
  margin: 0 0 4px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: #CBA75C;
}
.week__rule { height: 2px; background: rgba(255,255,255,0.28); margin: 14px 0 2px; }
.week__row {
  display: flex; align-items: baseline; gap: 18px;
  padding: 16px 0;
  border-bottom: 2px solid rgba(255,255,255,0.28);
}
.week__day {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  width: 3.4em; flex: none;
}
.week__time {
  display: block;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 34px; line-height: 1; letter-spacing: -0.01em;
  color: #FFFCF7;
  text-shadow: 0 2px 18px rgba(0,0,0,0.5);
}
.week__note { display: block; font-size: 14px; color: rgba(255,252,247,0.86); margin-top: 5px; }
.week__where { padding: 18px 0 0; }
.week__where p { margin: 0; font-size: 13.5px; line-height: 1.5; color: rgba(255,252,247,0.9); }
.week__where strong { color: #FFFCF7; }
.week__map {
  display: inline-flex; align-items: center; gap: 6px;
  
  margin-top: 4px;
  padding-top: 8px;
  font-size: 13.5px; font-weight: 700;
  color: #fff;
  border-bottom: 2px solid var(--color-accent);
  padding-bottom: 3px;
  text-decoration: none;
}
.week__map:hover { color: #fff; }

.tiles {
  background: var(--ink);
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 4px;
  aspect-ratio: 49 / 9;
}
.tile { position: relative; display: block; height: 100%; overflow: hidden; text-decoration: none; }
.tile img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 1800ms cubic-bezier(0.22, 1, 0.36, 1);
}
.tile__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(22,24,26,0.88) 0%, rgba(22,24,26,0.12) 58%, rgba(22,24,26,0) 100%);
}
.tile__veil {
  position: absolute; inset: 0;
  background: var(--ink);
  opacity: 0;
  transition: opacity 650ms ease;
}
.tile__body { position: absolute; left: 28px; right: 28px; top: 0; bottom: 0; }
.tile__titlewrap { position: absolute; left: 0; right: 0; bottom: 52%; display: flex; align-items: flex-end; }
.tile__title {
  font-family: var(--font-heading); font-weight: 800; line-height: 1.12;
  color: #fff;
  font-size: clamp(19px, 2.4vw, 32.5px);
  letter-spacing: -0.012em;
  white-space: nowrap;
  transition: font-size 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.tile__title span { display: block; font-size: 1.34em; line-height: 0.98; text-transform: capitalize; }
.tile__slug {
  position: absolute; left: 0; right: 0; top: 50%;
  padding-top: 9px;
  font-size: 13.5px; line-height: 1.45;
  color: rgba(255,255,255,0.92);
  max-width: 34ch;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 440ms ease, transform 440ms cubic-bezier(0.16, 1, 0.3, 1);
}
.tile:hover img, .tile:focus-visible img { transform: scale(1.09); }
.tile:hover .tile__veil, .tile:focus-visible .tile__veil { opacity: 0.32; }
.tile:hover .tile__title, .tile:focus-visible .tile__title { font-size: clamp(15px, 1.35vw, 18px); }
.tile:hover .tile__slug, .tile:focus-visible .tile__slug { opacity: 1; transform: translateY(0); }

.joinus { padding: 46px var(--gutter); align-items: center; }
.joinus__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.joinus__label {
  margin: 0 0 6px;
  display: flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}
.joinus__time {
  margin: 0;
  transform-origin: left center;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 50px; line-height: 1;
  color: var(--ink);
}
.joinus__time > span { display: inline-block; }

.joinus__item[data-next="true"] .joinus__time > span {
  animation: mccNextPulse 2.4s ease-in-out infinite;
  transform-origin: left center;
}
.joinus__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-accent);
  display: none; flex: none;
  animation: mccNextDot 2.4s ease-in-out infinite;
}
.joinus__item[data-next="true"] .joinus__dot { display: inline-block; }
.joinus__addr { margin: 0 0 6px; font-size: 15.5px; line-height: 1.4; color: var(--ink); font-weight: 600; }
.joinus a { display: inline-block; padding: 4px 0; font-size: 14.5px; font-weight: 600; }

.mission { padding: 82px var(--gutter); }
.mission__head {
  font-size: 56px; line-height: 1.02; letter-spacing: -0.032em;
  color: #fff;
  margin: 0 0 48px;
  max-width: 24ch;
}
.mission__head span { color: var(--color-accent-400); }
.mission__point {
  display: grid; grid-template-columns: 3.2em 1fr; gap: 28px;
  align-items: baseline;
  padding: 0 0 30px;
}
.mission__point--last { padding-bottom: 40px; }
.mission__num { font-family: var(--font-heading); font-weight: 800; font-size: 15px; color: var(--color-accent); }
.mission__text { margin: 0; font-size: 21px; line-height: 1.42; color: #E6E6E3; max-width: 52ch; }
.mission__text span { color: #94948E; }
.mission__pair {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 4px;
  margin-bottom: 34px;
}
.mission__card { background: rgba(255,255,255,0.06); padding: 30px 30px 32px; }
.mission__card p:first-child {
  margin: 0 0 10px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.mission__card p:last-child { margin: 0; font-size: 16.5px; line-height: 1.6; color: #D8D7D4; }
.mission .btn-primary { font-size: 14.5px; padding: 16px 26px; }

.sermons { padding: 56px var(--gutter); }
.sermons__head {
  display: flex; align-items: baseline; gap: 20px;
  margin-bottom: 26px; flex-wrap: wrap;
}
.sermons__head h3 {
  margin: 0;
  font-size: 42px; line-height: 1; letter-spacing: -0.035em;
  color: var(--ink);
}
.sermons__head a { display: inline-block; padding: 2px 0; font-size: 15px; font-weight: 600; }
.sermons__grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 32px; align-items: start; }
.sermons__frame {
  position: relative; aspect-ratio: 16/9;
  background: var(--ink);
  overflow: hidden;
}
.sermons__frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; display: block;
}
.sermons__kicker {
  margin: 14px 0 4px;
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.sermons__kicker::after {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--color-accent); display: inline-block;
  animation: mccNextDot 2.2s ease-in-out infinite;
}
.sermons__title {
  margin: 0 0 6px;
  font-size: 24px; line-height: 1.12; letter-spacing: -0.02em;
  color: var(--ink);
}
.sermons__blurb {
  margin: 0;
  font-size: 16px; line-height: 1.55;
  color: color-mix(in srgb, var(--ink) 68%, transparent);
  max-width: 52ch;
}
.sermons__more {
  margin: 0 0 11px;
  padding: 3px 0;
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink);
}
.sermons__more::before { content: ""; width: 26px; height: 3px; background: var(--color-accent); display: block; }
.sermons__side .sermons__frame { margin-bottom: 16px; }
.sermons__links { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.sermons__links .btn-primary { font-size: 14.5px; padding: 15px 22px; }
.sermons__links .btn-secondary { font-size: 14.5px; padding: 15px 20px; }
.sermons__join { background: var(--color-surface); padding: 18px; }
.sermons__join h4 { margin: 0 0 10px; font-size: 17px; line-height: 1.25; color: var(--ink); }
.sermons__join .btn-secondary { font-size: 14px; padding: 13px 20px; }

.leadership {
  background-color: var(--ink);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E"),
    radial-gradient(120% 90% at 34% 30%, rgba(58,44,38,0.42) 0%, rgba(22,24,26,0) 68%);
  background-repeat: repeat, no-repeat;
  padding: 76px var(--gutter);
}
.leadership__cols { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; align-items: stretch; }
.leadership__figure {
  position: relative;
  width: 100%; min-width: 0; height: 100%; min-height: 360px;
  overflow: hidden;
  background: transparent;
  -webkit-mask-image:
    radial-gradient(120% 108% at 42% 30%, rgba(0,0,0,1) 48%, rgba(0,0,0,0.82) 68%, rgba(0,0,0,0.3) 88%, rgba(0,0,0,0) 100%),
    linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.4) 88%, rgba(0,0,0,0) 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    radial-gradient(120% 108% at 42% 30%, rgba(0,0,0,1) 48%, rgba(0,0,0,0.82) 68%, rgba(0,0,0,0.3) 88%, rgba(0,0,0,0) 100%),
    linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.4) 88%, rgba(0,0,0,0) 100%);
  mask-composite: intersect;
}
.leadership__figure img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 18%;
  image-rendering: -webkit-optimize-contrast;
  filter: grayscale(1) contrast(1.1) brightness(1.02) sepia(0.14) saturate(1.35) hue-rotate(-12deg);
}
.leadership__glow-1 {
  position: absolute; inset: 0;
  background: radial-gradient(48% 36% at 42% 26%, rgba(255,238,214,0.2) 0%, rgba(255,238,214,0) 72%);
  mix-blend-mode: screen;
}
.leadership__glow-2 {
  position: absolute; inset: 0;
  background: linear-gradient(184deg, rgba(255,226,190,0.14) 0%, rgba(255,226,190,0) 40%, rgba(46,26,22,0.34) 100%);
  mix-blend-mode: soft-light;
}
.leadership__glow-3 {
  position: absolute; inset: 0;
  background: radial-gradient(104% 90% at 42% 28%, rgba(22,24,26,0) 40%, rgba(24,20,20,0.5) 76%, rgba(22,24,26,0.94) 100%);
}
.leadership__glow-4 {
  position: absolute; inset: 0;
  background: linear-gradient(96deg, rgba(22,24,26,0) 46%, rgba(22,24,26,0.5) 80%, rgba(22,24,26,1) 100%);
}
.leadership__grain {
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}
.leadership__name {
  margin: 0 0 8px;
  font-size: 42px; line-height: 1.04; letter-spacing: -0.032em;
  color: #FFFCF7;
}
.leadership__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); margin-bottom: 24px; }
.leadership__lede { margin: 0 0 18px; font-size: 18px; line-height: 1.55; color: #C6C6C1; max-width: 46ch; }
.leadership__note { margin: 0 0 28px; font-size: 15.5px; line-height: 1.6; color: #9C9C97; max-width: 50ch; }
.leadership__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.leadership__actions .btn-primary { font-size: 15px; padding: 17px 28px; }
.leadership__actions .btn-onink { padding: 17px 26px; }

.aboutindex { padding: 70px var(--gutter); }
.aboutindex__list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 44px; align-items: start; }
.aboutrow {
  display: block; text-decoration: none; color: inherit;
  padding: 14px 16px 14px 0;
  border-top: 2px solid var(--color-divider);
  transition: border-color 240ms ease;
}
.aboutrow:hover, .aboutrow:focus-visible { border-top-color: var(--color-accent); color: inherit; }
.aboutrow__head { display: grid; grid-template-columns: 3.2em 1fr auto; gap: 20px; align-items: baseline; }
.aboutrow__num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-700); }
.aboutrow__label { font-family: var(--font-heading); font-weight: 800; font-size: 25px; letter-spacing: -0.015em; color: var(--ink); }
.aboutrow__plus {
  font-family: var(--font-heading); font-weight: 700; font-size: 22px; line-height: 1;
  color: color-mix(in srgb, var(--ink) 48%, transparent);
  transform: rotate(0deg);
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), color 240ms ease;
  display: inline-block;
}
.aboutrow:hover .aboutrow__plus, .aboutrow:focus-visible .aboutrow__plus {
  color: var(--color-accent);
  transform: rotate(45deg);
}
.aboutrow__body {
  display: block; overflow: hidden;
  max-height: 0; opacity: 0;
  padding-top: 0;
  padding-left: calc(3.2em + 20px);
  transition: max-height 420ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, padding-top 300ms ease;
}
.aboutrow:hover .aboutrow__body, .aboutrow:focus-visible .aboutrow__body {
  max-height: 420px; opacity: 1; padding-top: 14px;
}
.aboutrow__blurb {
  display: block;
  font-size: 15px; line-height: 1.55;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
  max-width: 40ch; text-wrap: pretty;
}
.aboutrow__verse {
  display: block; margin-top: 10px;
  font-family: var(--logo-font); font-weight: 200;
  font-size: 14.5px; line-height: 1.5;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
  max-width: 42ch; text-wrap: pretty;
}
.aboutrow__ref {
  display: block; margin-top: 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-700);
}

.donate {
  background: var(--ink);
  border-top: 3px solid var(--color-accent);
  padding: 44px var(--gutter);
  display: grid;
  grid-template-columns: 11em 1fr auto;
  gap: 48px;
  align-items: center;
}
.donate h3 { margin: 0 0 8px; font-size: 30px; line-height: 1.06; letter-spacing: -0.028em; color: #FFFCF7; }
.donate p { margin: 0; font-size: 16px; line-height: 1.55; color: #9C9C97; max-width: 52ch; }
.donate .btn-onink { white-space: nowrap; }

.homecontact { padding: 76px var(--gutter); }
.homecontact h3 {
  margin: 0 0 40px;
  font-size: 50px; line-height: 1.02; letter-spacing: -0.032em;
  color: var(--ink);
  max-width: 26ch;
}
.homecontact__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
.homecontact h4 {
  margin: 0 0 10px;
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}
.homecontact p { margin: 0; font-size: 18px; line-height: 1.5; color: var(--ink); }
.homecontact__reach { display: flex; flex-direction: column; gap: 8px; font-size: 18px; }

@media (max-width: 900px) {
  .hero { min-height: 0; }
  .hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    
    padding-bottom: 84px;
  }
  .hero__slider { left: 24px; bottom: 18px; }
  .hero__title { font-size: clamp(46px, 9vw, 96px); }
  .hero__strap { font-size: clamp(26px, 5vw, 40px); }
  .hero__lede { font-size: 17px; }
  .week { width: 100%; }

  
  .tiles {
    grid-template-columns: 1fr;
    aspect-ratio: auto;
  }
  .tile { aspect-ratio: 16 / 9; }
  .tile__title { font-size: clamp(22px, 6vw, 32.5px); }
  
  .tile__slug { opacity: 1; transform: none; position: static; padding-top: 6px; }
  .tile__body { display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 22px; }
  .tile__titlewrap { position: static; }

  .joinus__cols { grid-template-columns: 1fr; gap: 24px; }
  .mission__head { font-size: clamp(30px, 6vw, 56px); }
  .mission__text { font-size: 18px; }
  .sermons__grid { grid-template-columns: 1fr; }
  .leadership__cols { grid-template-columns: 1fr; }
  .leadership__figure { min-height: 300px; }
  .leadership__name { font-size: clamp(28px, 6vw, 42px); }
  .aboutindex__list { grid-template-columns: 1fr; }
  
  .aboutrow__body { max-height: none; opacity: 1; padding-top: 14px; }
  .aboutrow__plus { display: none; }
  .homecontact h3 { font-size: clamp(30px, 6vw, 50px); }
  .homecontact__cols { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 680px) {
  .joinus, .mission, .sermons, .leadership,
  .aboutindex, .donate, .homecontact { padding: 40px var(--gutter); }

  .joinus__time { font-size: 40px; }
  .mission__point { grid-template-columns: 2.2em 1fr; gap: 14px; }
  .mission__pair { grid-template-columns: 1fr; }
  .mission__card { padding: 22px; }
  .sermons__head h3 { font-size: 32px; }
}

@keyframes mccAboutZoom {
  from { transform: scale(1); }
  to { transform: scale(1.09); }
}

@keyframes mccAboutSlide2 {
  0%, 35.714% { opacity: 0; }
  39.286%, 58.730% { opacity: 1; }
  62.302%, 100% { opacity: 0; }
}
@keyframes mccAboutSlide3 {
  0%, 58.730% { opacity: 0; }
  62.302%, 79.365% { opacity: 1; }
  82.937%, 100% { opacity: 0; }
}
@keyframes mccAboutSlide4 {
  0%, 79.365% { opacity: 0; }
  82.937%, 96.429% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes mccAboutSlide1 {
  0%, 35.714% { opacity: 1; }
  39.286%, 96.429% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes mccAboutDot1 {
  0%, 35.714% { width: 22px; background: var(--color-accent); }
  39.286%, 96.429% { width: 8px; background: rgba(255,255,255,0.42); }
  100% { width: 22px; background: var(--color-accent); }
}
@keyframes mccAboutDot2 {
  0%, 35.714% { width: 8px; background: rgba(255,255,255,0.42); }
  39.286%, 58.730% { width: 22px; background: var(--color-accent); }
  62.302%, 100% { width: 8px; background: rgba(255,255,255,0.42); }
}
@keyframes mccAboutDot3 {
  0%, 58.730% { width: 8px; background: rgba(255,255,255,0.42); }
  62.302%, 79.365% { width: 22px; background: var(--color-accent); }
  82.937%, 100% { width: 8px; background: rgba(255,255,255,0.42); }
}
@keyframes mccAboutDot4 {
  0%, 79.365% { width: 8px; background: rgba(255,255,255,0.42); }
  82.937%, 96.429% { width: 22px; background: var(--color-accent); }
  100% { width: 8px; background: rgba(255,255,255,0.42); }
}

.aboutrule { display: block; width: 56px; height: 4px; background: var(--color-accent); }
.aboutrule--gap { margin-bottom: 18px; }
.aboutrule--wide { margin-bottom: 26px; }
.aboutrule--visit { margin-bottom: 28px; }

.aboutsection__title {
  margin: 0 0 10px;
  font-size: 40px; line-height: 1.02; letter-spacing: -0.03em;
  color: var(--ink);
}
.aboutsection__title--onink { color: #FFFCF7; }

.aboutlabel {
  margin: 0 0 14px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.aboutlabel--onink { color: var(--color-accent-300); }
.aboutlabel--tight { font-size: 11.5px; }

.aboutlead { padding: 76px var(--gutter); color: #EDEDEB; }

.aboutlead__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 24px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.aboutlead__eyebrow::before {
  content: ""; width: 44px; height: 4px; background: var(--color-accent); display: block;
}

.aboutlead__cols { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: end; }
.aboutlead__intro { padding-bottom: 64px; }
.aboutlead__title {
  font-size: 76px; line-height: 0.92; letter-spacing: -0.04em;
  margin: 0 0 24px;
  color: #FFFCF7;
}
.aboutlead__lede { margin: 0 0 20px; font-size: 21px; line-height: 1.5; color: #D8D7D4; max-width: 46ch; }
.aboutlead__note { margin: 0; font-size: 16px; line-height: 1.6; color: #9C9C97; max-width: 52ch; }

.aboutlead__cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px; margin-top: 64px; }
.aboutlead__card { background: #1D2023; padding: 30px 30px 32px; }
.aboutlead__card-label {
  margin: 0 0 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.aboutlead__card-title { margin: 0 0 12px; font-size: 27px; letter-spacing: -0.02em; color: #FFFCF7; }
.aboutlead__card-body { margin: 0; font-size: 15.5px; line-height: 1.6; color: #A9A9A4; }

.pastors { position: relative; aspect-ratio: 16/11; overflow: hidden; }
.pastors__stage {
  position: absolute; inset: 0;
  overflow: hidden;
  background: #22252A;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.34) 0%, rgba(0,0,0,0.62) 7%, rgba(0,0,0,0.86) 15%, rgba(0,0,0,1) 24%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.34) 0%, rgba(0,0,0,0.62) 7%, rgba(0,0,0,0.86) 15%, rgba(0,0,0,1) 24%);
}
.pastors__slide {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: 25.2s ease infinite;
}
.pastors__slide:nth-child(1) {
  object-position: 50% 22%;
  filter: grayscale(1) contrast(1.34) brightness(0.92);
  opacity: 1;
  animation: none;
}
.pastors__slide:nth-child(2) {
  object-position: 50% 40%;
  filter: grayscale(1) contrast(1.16) brightness(1.18);
  animation-name: mccAboutSlide2;
}
.pastors__slide:nth-child(3) {
  object-position: 50% 34%;
  filter: grayscale(1) contrast(1.16) brightness(1.18);
  animation-name: mccAboutSlide3;
}
.pastors__slide:nth-child(4) {
  object-position: center top;
  filter: grayscale(1) contrast(1.34) brightness(0.92);
  transform: scaleX(-1);
  animation-name: mccAboutSlide4;
}

.pastors__grade { position: absolute; inset: 0; }
.pastors__grade-1, .pastors__grade-2, .pastors__grade-3,
.pastors__grade-4, .pastors__grade-5 { position: absolute; inset: 0; }
.pastors__grade-1 {
  background: radial-gradient(62% 46% at 76% 6%, rgba(255,208,146,0.78) 0%, rgba(255,178,96,0) 62%);
  mix-blend-mode: screen; opacity: 0.8;
}
.pastors__grade-2 {
  background: radial-gradient(128% 108% at 6% 104%, rgba(7,38,60,0.92) 0%, rgba(9,44,68,0) 64%);
  mix-blend-mode: multiply;
}
.pastors__grade-3 {
  background: linear-gradient(202deg, rgba(255,172,96,0.22) 0%, rgba(255,172,96,0) 44%, rgba(5,30,50,0.42) 100%);
  mix-blend-mode: soft-light;
}
.pastors__grade-4 {
  background: radial-gradient(102% 84% at 52% 40%, rgba(0,0,0,0) 34%, rgba(0,0,0,0.46) 78%, rgba(0,0,0,0.82) 100%);
}
.pastors__grade-5 { box-shadow: inset 0 0 110px 26px rgba(0,0,0,0.62); }

.pastors__scrim {
  position: absolute; left: 0; right: 0; bottom: 0; height: 62%;
  background: linear-gradient(180deg, rgba(6,10,14,0) 0%, rgba(6,10,14,0.42) 44%, rgba(4,7,11,0.88) 100%);
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.72) 8%, rgba(0,0,0,1) 20%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.72) 8%, rgba(0,0,0,1) 20%);
}
.pastors__caption {
  position: absolute; left: 9%; right: 26px; bottom: 22px;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
}
.pastors__names { display: grid; min-width: 0; }
.pastors__name { grid-area: 1 / 1; opacity: 0; animation: 25.2s ease infinite; }
.pastors__name:nth-child(1) { opacity: 1; animation-name: mccAboutSlide1; }
.pastors__name:nth-child(2) { animation-name: mccAboutSlide2; }
.pastors__name:nth-child(3) { animation-name: mccAboutSlide3; }
.pastors__name:nth-child(4) { animation-name: mccAboutSlide4; }
.pastors__kicker {
  display: block; margin-bottom: 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.pastors__who { display: block; font-size: 19px; line-height: 1.3; letter-spacing: -0.01em; color: #FFFCF7; }

.pastors__dots { display: flex; gap: 7px; align-items: center; flex: none; padding-bottom: 5px; }
.pastors__dot {
  display: block; width: 8px; height: 8px;
  background: rgba(255,255,255,0.42);
  animation: 25.2s ease infinite;
}
.pastors__dot:nth-child(1) { width: 22px; background: var(--color-accent); animation-name: mccAboutDot1; }
.pastors__dot:nth-child(2) { animation-name: mccAboutDot2; }
.pastors__dot:nth-child(3) { animation-name: mccAboutDot3; }
.pastors__dot:nth-child(4) { animation-name: mccAboutDot4; }

.aboutstory { padding: 84px var(--gutter); }
.aboutstory__grid { display: grid; grid-template-columns: 22ch 1fr; gap: 56px; align-items: start; }
.aboutstory__body { display: grid; gap: 22px; max-width: 74ch; }
.aboutstory__lede { margin: 0; font-size: 22px; line-height: 1.5; color: var(--ink); }
.aboutstory__para {
  margin: 0; font-size: 17px; line-height: 1.65;
  color: color-mix(in srgb, var(--ink) 74%, transparent);
}
.aboutstory__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 12px; }
.aboutstat { background: var(--color-surface); padding: 24px 24px 26px; }
.aboutstat__figure {
  margin: 0 0 4px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 34px; letter-spacing: -0.03em;
  color: var(--ink);
}
.aboutstat__body {
  margin: 0; font-size: 14.5px; line-height: 1.5;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}

.aboutmission { padding: 84px var(--gutter); }
.aboutmission__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 4px; }
.aboutmission__statement { background: var(--ink); color: #EDEDEB; padding: 44px 44px 48px; }
.aboutmission__big {
  margin: 0 0 22px;
  font-size: 27px; line-height: 1.32; letter-spacing: -0.02em;
  color: #FFFCF7; max-width: 34ch;
}
.aboutmission__note { margin: 0; font-size: 16.5px; line-height: 1.6; color: #A9A9A4; max-width: 46ch; }

.aboutmission__vision { background: var(--color-bg); padding: 44px 44px 48px; }
.aboutmission__head {
  margin: 0 0 18px;
  font-size: 42px; line-height: 1.04; letter-spacing: -0.032em;
  color: var(--ink);
}
.aboutmission__lede {
  margin: 0 0 16px; font-size: 17.5px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 74%, transparent); max-width: 44ch;
}
.aboutmission__tail {
  margin: 0; font-size: 16px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 62%, transparent); max-width: 46ch;
}

.aboutmission__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-bottom: 4px; }
.aboutfact { background: var(--color-bg); padding: 30px 30px 32px; }
.aboutfact__figure {
  margin: 0 0 4px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 34px; letter-spacing: -0.03em;
  color: var(--ink);
}
.aboutfact__head {
  margin: 0 0 4px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 20px; line-height: 1.2; letter-spacing: -0.02em;
  color: var(--ink);
}
.aboutfact__body {
  margin: 0; font-size: 14.5px; line-height: 1.55;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}
.aboutfact__ref { color: var(--color-accent-700); }

.aboutobj { background: var(--color-bg); padding: 40px 44px 44px; }
.aboutobj__label { margin: 0 0 22px; }
.aboutobj__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.aboutobj__row {
  display: grid; grid-template-columns: 2.6em 1fr; gap: 18px;
  padding: 18px 0;
  border-bottom: 2px solid var(--color-divider);
  align-items: baseline;
}
.aboutobj__num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-700); }
.aboutobj__text { font-size: 17px; line-height: 1.5; color: var(--ink); }
.aboutobj__ref { color: color-mix(in srgb, var(--ink) 62%, transparent); }

.aboutbelieve { padding: 84px var(--gutter); color: #EDEDEB; }
.aboutbelieve__grid {
  display: grid;
  grid-template-columns: minmax(180px, 22ch) 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}
.aboutbelieve__lede { margin: 0 0 18px; font-size: 16.5px; line-height: 1.6; color: #C6C6C1; }
.aboutbelieve__ref {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.aboutbelieve__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 0 clamp(28px, 3vw, 48px);
}
.aboutbelieve__row {
  display: grid; grid-template-columns: 2.8em 1fr; gap: 18px;
  padding: 20px 0;
  border-bottom: 2px solid rgba(255,255,255,0.18);
  align-items: baseline;
}
.aboutbelieve__num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-300); }
.aboutbelieve__title {
  display: block; margin-bottom: 6px;
  font-family: var(--font-heading); font-weight: 800; font-size: 19px;
  color: #FFFCF7;
}
.aboutbelieve__body { display: block; font-size: 15.5px; line-height: 1.55; color: #A9A9A4; }
.aboutbelieve__cite { color: var(--color-accent-300); }

.aboutmin { padding: 84px var(--gutter); }
.aboutmin__head { margin-bottom: 36px; }
.aboutmin__title {
  margin: 0 0 16px;
  font-size: clamp(34px, 3.9vw, 46px); line-height: 1; letter-spacing: -0.034em;
  color: var(--ink); text-wrap: balance;
}
.aboutmin__lede {
  margin: 0 0 16px; font-size: 17.5px; line-height: 1.58;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
  max-width: 62ch; text-wrap: pretty;
}
.aboutmin__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 4px; }
.aboutmin__tile {
  position: relative; display: block;
  width: 100%; min-width: 0; aspect-ratio: 5/8;
  overflow: hidden;
  background: var(--ink);
  text-decoration: none;
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.aboutmin__tile:hover, .aboutmin__tile:focus-visible { transform: translateY(-4px); }
.aboutmin__photo { position: absolute; inset: 0; overflow: hidden; transition: filter 640ms ease; }
.aboutmin__tile:hover .aboutmin__photo,
.aboutmin__tile:focus-visible .aboutmin__photo { filter: grayscale(0.1) contrast(1.1); }
.aboutmin__photo img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  will-change: transform;
  animation: mccAboutZoom 27s ease-in-out infinite alternate;
  filter: contrast(1.14) brightness(0.9);
}
.aboutmin__tile:nth-child(1) img { object-position: 50% 32%; animation-duration: 27s; }
.aboutmin__tile:nth-child(2) img { object-position: 50% 28%; animation-duration: 24s; }
.aboutmin__tile:nth-child(3) img { object-position: 50% 30%; animation-duration: 29s; }
.aboutmin__tile:nth-child(4) img { object-position: 50% 26%; animation-duration: 26s; }
.aboutmin__tile:nth-child(5) img { object-position: 50% 24%; animation-duration: 30s; }
.aboutmin__tile:nth-child(6) img { object-position: 50% 34%; animation-duration: 25s; }
.aboutmin__glow {
  position: absolute; inset: 0;
  background: radial-gradient(58% 44% at 72% 8%, rgba(255,212,156,0.38) 0%, rgba(255,190,120,0) 64%);
  mix-blend-mode: screen;
}
.aboutmin__shade {
  position: absolute; inset: 0;
  background: radial-gradient(124% 106% at 8% 104%, rgba(36,24,20,0.86) 0%, rgba(38,26,22,0) 66%);
  mix-blend-mode: multiply;
}
.aboutmin__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(6,8,10,0.94) 0%, rgba(6,8,10,0.62) 44%, rgba(6,8,10,0.22) 100%);
}
.aboutmin__body {
  position: absolute; left: 16px; right: 16px; top: 52%; bottom: 16px;
  display: flex; flex-direction: column; justify-content: flex-start; gap: 8px;
}
.aboutmin__bar { width: 40px; height: 3px; background: var(--color-accent); display: block; }
.aboutmin__name {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 17px; line-height: 1.16; letter-spacing: -0.02em;
  color: #FFFCF7;
}
.aboutmin__blurb { font-size: 13px; line-height: 1.45; color: rgba(255,252,247,0.74); text-wrap: pretty; }

.abouttiles {
  background: var(--ink);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4px;
  aspect-ratio: 42 / 9;
}
.abouttile { position: relative; display: block; height: 100%; overflow: hidden; text-decoration: none; }
.abouttile img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 1800ms cubic-bezier(0.22, 1, 0.36, 1);
}
.abouttile__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(22,24,26,0.88) 0%, rgba(22,24,26,0.12) 58%, rgba(22,24,26,0) 100%);
}
.abouttile__veil {
  position: absolute; inset: 0;
  background: var(--ink);
  opacity: 0;
  transition: opacity 650ms ease;
}
.abouttile__kicker {
  position: absolute; left: 28px; top: 26px;
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent);
}
.abouttile__kicker::before { content: ""; width: 22px; height: 2px; background: var(--color-accent); display: block; }
.abouttile__body { position: absolute; left: 28px; right: 28px; top: 0; bottom: 0; }
.abouttile__titlewrap { position: absolute; left: 0; right: 0; bottom: 52%; display: flex; align-items: flex-end; }
.abouttile__title {
  font-family: var(--font-heading); font-weight: 800; line-height: 1.12;
  color: #fff;
  font-size: clamp(19px, 2.4vw, 32.5px);
  letter-spacing: -0.012em;
  white-space: nowrap;
  transition: font-size 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.abouttile__slug {
  position: absolute; left: 0; right: 0; top: 50%;
  padding-top: 9px;
  font-size: 13.5px; line-height: 1.45;
  color: rgba(255,255,255,0.92);
  max-width: 34ch;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 440ms ease, transform 440ms cubic-bezier(0.16, 1, 0.3, 1);
}
.abouttile:hover img, .abouttile:focus-visible img { transform: scale(1.09); }
.abouttile:hover .abouttile__veil, .abouttile:focus-visible .abouttile__veil { opacity: 0.32; }
.abouttile:hover .abouttile__title, .abouttile:focus-visible .abouttile__title { font-size: clamp(15px, 1.35vw, 18px); }
.abouttile:hover .abouttile__slug, .abouttile:focus-visible .abouttile__slug { opacity: 1; transform: translateY(0); }

.aboutfaq { padding: 84px var(--gutter); }
.aboutfaq__grid { display: grid; grid-template-columns: 26ch 1fr; gap: 56px; align-items: start; }
.aboutfaq__lede {
  margin: 0; font-size: 15.5px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}
.aboutfaq__list { display: grid; gap: 0; max-width: 78ch; }
.aboutfaq__item { padding: 22px 0; border-top: 2px solid var(--color-divider); }
.aboutfaq__item:last-child { border-bottom: 2px solid var(--color-divider); }
.aboutfaq__q { margin: 0 0 8px; font-size: 20px; letter-spacing: -0.015em; color: var(--ink); }
.aboutfaq__a {
  margin: 0; font-size: 16px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 72%, transparent);
}

.aboutgive { padding: 84px var(--gutter); }
.aboutgive__pair { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4px; }
.aboutgive__title {
  margin: 0 0 8px;
  font-size: 34px; line-height: 1.05; letter-spacing: -0.028em;
  color: var(--ink);
}
.aboutgive__title--onink { color: #FFFCF7; }

.aboutinvolve { background: var(--color-surface); padding: 44px 44px 48px; }
.aboutinvolve__list { display: grid; gap: 0; }
.aboutinvolve__row {
  display: grid; grid-template-columns: 2.6em 1fr; gap: 18px;
  padding: 18px 0;
  border-bottom: 2px solid var(--color-divider);
  align-items: baseline;
}
.aboutinvolve__row:last-child { border-bottom: 0; }
.aboutinvolve__num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-700); }
.aboutinvolve__text { font-size: 16.5px; line-height: 1.55; color: var(--ink); }
.aboutinvolve__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.aboutinvolve__actions .btn-primary { font-size: 15px; padding: 17px 28px; }
.aboutinvolve__actions .btn-secondary { font-size: 15px; padding: 17px 26px; }

.aboutbank { background: var(--ink); color: #EDEDEB; padding: 44px 40px 48px; }
.aboutbank__lede { margin: 0 0 24px; font-size: 16.5px; line-height: 1.6; color: #B4B4AF; }
.aboutbank__box { background: rgba(255,255,255,0.06); padding: 24px 24px 26px; display: grid; gap: 14px; }
.aboutbank__row { display: grid; grid-template-columns: 10ch 1fr; gap: 14px; align-items: baseline; }
.aboutbank__key {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: #8F8F89;
}
.aboutbank__account { font-family: var(--font-heading); font-weight: 800; font-size: 17px; color: #FFFCF7; }
.aboutbank__value { font-size: 16px; color: #D6D6D2; }
.aboutbank__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.aboutbank__actions .btn-primary { font-size: 15px; padding: 17px 28px; }

.aboutvisit { padding: 84px var(--gutter); }
.aboutvisit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.aboutvisit__row {
  display: flex; align-items: baseline; gap: 20px;
  padding: 20px 0;
  border-bottom: 2px solid var(--color-divider);
}
.aboutvisit__day {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
  width: 3.6em; flex: none;
}
.aboutvisit__time {
  display: block;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 38px; line-height: 1; letter-spacing: -0.02em;
  color: var(--ink);
}
.aboutvisit__note {
  display: block; margin-top: 6px;
  font-size: 15.5px;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}
.aboutvisit__where { margin: 26px 0 0; font-size: 17px; line-height: 1.6; color: var(--ink); max-width: 44ch; }
.aboutvisit__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.aboutvisit__actions .btn-primary { font-size: 15px; padding: 17px 28px; }
.aboutvisit__actions .btn-secondary { font-size: 15px; padding: 17px 26px; }
.aboutvisit__reach {
  margin: 18px 0 0; font-size: 15.5px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}
.aboutvisit__figure { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--ink); }
.aboutvisit__figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.aboutvisit__wash {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(22,24,26,0.7) 0%, rgba(22,24,26,0) 62%);
}
.aboutvisit__caption {
  position: absolute; left: 28px; bottom: 24px;
  font-family: var(--font-heading); font-weight: 800; font-size: 20px;
  color: #fff;
}

@media (max-width: 900px) {
  
  .aboutlead__cols,
  .aboutstory__grid,
  .aboutmission__pair,
  .aboutobj__grid,
  .aboutbelieve__grid,
  .aboutgive__pair,
  .aboutvisit__grid { grid-template-columns: 1fr; }

  .aboutsection__title { font-size: clamp(30px, 5vw, 40px); }

  .aboutlead__cols { gap: 32px; }
  
  .aboutlead__intro { padding-bottom: 0; }
  .aboutlead__title { font-size: clamp(42px, 8vw, 76px); }
  .aboutlead__lede { font-size: 18px; }
  .aboutlead__cards { grid-template-columns: 1fr; }

  .aboutstory__grid { gap: 24px; }
  .aboutstory__lede { font-size: 19px; }

  .aboutmission__head { font-size: clamp(30px, 5vw, 42px); }
  .aboutobj__grid { gap: 0; }

  .aboutbelieve__grid { gap: 28px; }

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

  
  .abouttiles { grid-template-columns: 1fr; aspect-ratio: auto; }
  .abouttile { aspect-ratio: 16 / 9; }
  .abouttile__title { font-size: clamp(22px, 6vw, 32.5px); }
  
  .abouttile__body {
    display: flex; flex-direction: column; justify-content: flex-end;
    padding-bottom: 22px;
  }
  .abouttile__titlewrap { position: static; }
  .abouttile__slug { position: static; opacity: 1; transform: none; padding-top: 6px; }

  .aboutfaq__grid { grid-template-columns: 1fr; gap: 24px; }
  .aboutgive__title { font-size: clamp(28px, 5vw, 34px); }
  .aboutvisit__grid { gap: 32px; }
}

@media (max-width: 680px) {
  
  .aboutlead, .aboutstory, .aboutmission, .aboutbelieve,
  .aboutmin, .aboutfaq, .aboutgive, .aboutvisit { padding: 40px var(--gutter); }

  .aboutlead__title { font-size: clamp(34px, 9vw, 76px); }
  .aboutlead__cards { margin-top: 32px; }
  .aboutlead__card { padding: 24px 22px 26px; }
  .aboutlead__card-title { font-size: 23px; }

  
  .pastors__caption { left: 20px; right: 20px; bottom: 16px; gap: 14px; }
  .pastors__who { font-size: 15px; }
  .pastors__kicker { font-size: 10.5px; margin-bottom: 4px; }

  .aboutstory__stats,
  .aboutmission__facts { grid-template-columns: 1fr; }
  .aboutstat, .aboutfact { padding: 20px 22px 22px; }

  .aboutmission__statement,
  .aboutmission__vision,
  .aboutinvolve { padding: 28px 24px 30px; }
  .aboutmission__big { font-size: 22px; }
  .aboutobj { padding: 26px 24px 28px; }

  
  .aboutobj__row,
  .aboutinvolve__row,
  .aboutbelieve__row { grid-template-columns: 2.2em 1fr; gap: 14px; }

  
  .aboutmin__grid { grid-template-columns: 1fr; }
  .aboutmin__tile { aspect-ratio: 4 / 3; }
  .aboutmin__body { top: 42%; }

  .aboutbank { padding: 28px 24px 30px; }
  .aboutbank__box { padding: 20px 20px 22px; }

  .aboutvisit__time { font-size: 32px; }
  .aboutvisit__caption { left: 20px; bottom: 18px; font-size: 17px; }
}

@keyframes mccMinistryColour {
  from { filter: grayscale(1) contrast(1.08); }
  to { filter: grayscale(0.9) contrast(1.1) saturate(1.06); }
}
@keyframes mccMinistryZoom {
  from { transform: scale(1); }
  to { transform: scale(1.09); }
}

.minhero { background: var(--ink); color: #EDEDEB; padding: 76px var(--gutter) 68px; }

.minhero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 24px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.minhero__eyebrow::before { content: ""; width: 44px; height: 4px; background: var(--color-accent); display: block; }

.minhero__cols { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: start; }

.minhero__title {
  font-size: 76px; line-height: 0.92; letter-spacing: -0.04em;
  margin: 0 0 24px;
  color: #FFFCF7;
}
.minhero__lede { margin: 0 0 20px; font-size: 21px; line-height: 1.5; color: #D8D7D4; max-width: 46ch; }
.minhero__note { margin: 0; font-size: 16px; line-height: 1.6; color: #9C9C97; max-width: 52ch; }

.minindex { display: grid; gap: 0; align-self: end; }
.minindex a {
  display: grid; grid-template-columns: 3em 1fr; gap: 18px;
  padding: 15px 0;
  border-bottom: 2px solid rgba(255,255,255,0.18);
  align-items: baseline;
  text-decoration: none;
}
.minindex a:last-child { border-bottom: 0; }
.minindex a:hover .minindex__label, .minindex a:focus-visible .minindex__label { color: var(--color-accent-300); }
.minindex__num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-300); }
.minindex__label {
  font-family: var(--font-heading); font-weight: 800; font-size: 22px;
  color: #FFFCF7;
  transition: color 200ms ease;
}

.min { padding: 84px var(--gutter); }
.min--dark { color: #EDEDEB; }

.min__cols { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: stretch; }

.min--flip .min__cols { grid-template-columns: 1.05fr 1fr; }
.min--flip .min__photo { order: 2; }

.min__photo {
  position: relative;
  width: 100%; min-width: 0; height: 100%; min-height: 340px;
  overflow: hidden;
  background: var(--ink);
}
#youth .min__photo, #men .min__photo { min-height: 400px; }
#youth .min__photo, #couples .min__photo { background: #22252A; }

.min__frame {
  position: absolute; inset: 0;
  overflow: hidden;
  animation: mccMinistryColour 17s ease-in-out infinite alternate;
}
.min__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  will-change: transform;
  animation: mccMinistryZoom 26s ease-in-out infinite alternate;
  filter: contrast(1.16) brightness(1);
}
#children .min__img { object-position: 50% 32%; }
#youth .min__img { object-position: 50% 28%; }
#women .min__img { object-position: 50% 30%; }
#men .min__img { object-position: 50% 26%; }
#couples .min__img { object-position: 50% 24%; }
#compassion .min__img { object-position: 50% 34%; }

.min__wash { position: absolute; inset: 0; }
.min__wash--1 {
  background: radial-gradient(58% 44% at 72% 8%, rgba(255,212,156,0.52) 0%, rgba(255,190,120,0) 64%);
  mix-blend-mode: screen;
}
.min__wash--2 {
  background: radial-gradient(124% 106% at 8% 104%, rgba(36,24,20,0.88) 0%, rgba(38,26,22,0) 66%);
  mix-blend-mode: multiply;
}
.min__wash--3 {
  background: linear-gradient(196deg, rgba(255,198,136,0.18) 0%, rgba(255,198,136,0) 46%, rgba(30,22,26,0.42) 100%);
  mix-blend-mode: soft-light;
}
.min__wash--4 {
  background: radial-gradient(104% 88% at 50% 38%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.34) 76%, rgba(0,0,0,0.62) 100%);
}
.min__fade {
  position: absolute; left: 0; right: 0; bottom: 0; height: 58%;
  background: linear-gradient(0deg, rgba(6,8,10,0.94) 0%, rgba(6,8,10,0.62) 32%, rgba(6,8,10,0) 100%);
}

.min__caption { position: absolute; left: 28px; right: 28px; bottom: 26px; }
.min__quote {
  margin: 0 0 8px;
  font-size: 17px; line-height: 1.42;
  color: #FFFCF7;
  max-width: 36ch; text-wrap: pretty;
}
.min__qref {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}

.min__kicker {
  margin: 0 0 10px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.min--dark .min__kicker { color: var(--color-accent-300); }

.min__title { margin: 0 0 10px; font-size: 46px; line-height: 1.02; letter-spacing: -0.034em; color: var(--ink); }
.min--dark .min__title { color: #FFFCF7; }

.min__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); margin-bottom: 24px; }

.min__join {
  display: inline-flex; align-items: center; gap: 9px;
  margin-bottom: 18px;
  padding: 2px 0;
  font-family: var(--font-heading); font-weight: 700;
  font-size: 14.5px; letter-spacing: 0.01em;
  color: var(--color-accent-700);
  text-decoration: none;
}
.min__join:hover { color: var(--color-accent-800); }
.min--dark .min__join { color: var(--color-accent-300); }
.min--dark .min__join:hover { color: #fff; }

.min__lede { margin: 0 0 18px; font-size: 19px; line-height: 1.5; color: var(--ink); max-width: 46ch; }
.min--dark .min__lede { color: #D8D7D4; }
#compassion .min__lede { margin-bottom: 28px; }

.min__body p {
  margin: 0 0 18px;
  font-size: 16.5px; line-height: 1.62;
  color: color-mix(in srgb, var(--ink) 72%, transparent);
  max-width: 54ch;
}
.min--dark .min__body p { color: #A9A9A4; }

.min__body:not(:last-child) p:last-child { margin-bottom: 26px; }
.min__body:last-child p:last-child { margin-bottom: 0; }

.min__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.min__card { padding: 24px 24px 26px; }
.min__pair--roomy .min__card { padding: 26px 24px 28px; }
.min__card--surface { background: var(--color-surface); }
.min__card--ink { background: var(--ink); }
.min__cardlabel {
  margin: 0 0 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}
.min__cardtext { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--ink); }
.min__cardquote { margin: 0 0 8px; font-size: 16px; line-height: 1.5; color: #EDEDEB; }
.min__cardref {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.min__stat {
  margin: 0 0 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 40px; line-height: 1; letter-spacing: -0.03em;
  color: #FFFCF7;
}
.min__statnote { margin: 0; font-size: 14.5px; line-height: 1.5; color: #A9A9A4; }

.min__quotebox { background: rgba(255,255,255,0.06); padding: 26px 26px 28px; max-width: 54ch; }
.min__quotetext { margin: 0 0 8px; font-size: 17px; line-height: 1.5; color: #FFFCF7; }

.min__subs { display: grid; gap: 0; }
.min__sub {
  display: grid; grid-template-columns: 2.6em 1fr; gap: 18px;
  padding: 17px 0;
  border-top: 2px solid var(--color-divider);
  align-items: baseline;
}
.min__sub:last-child { border-bottom: 2px solid var(--color-divider); }
.min__subnum { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-700); }
.min__subtext { font-size: 17px; line-height: 1.5; color: var(--ink); }

.getinvolved {
  background: var(--color-accent-fill);
  display: grid;
  grid-template-columns: 11em 1fr auto;
  gap: 48px;
  align-items: center;
}
.getinvolved .band__label { color: #fff; }
.getinvolved__text { margin: 0; font-size: 19px; line-height: 1.45; color: #fff; max-width: 60ch; }
.getinvolved__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.getinvolved__actions a {
  font-family: var(--font-heading); font-weight: 700; font-size: 15px;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
  transition: background 200ms ease, color 200ms ease;
}
.getinvolved__primary { padding: 17px 28px; background: #fff; color: var(--color-accent-800); }
.getinvolved__primary:hover { background: var(--ink); color: #fff; }
.getinvolved__ghost { padding: 17px 26px; color: #fff; border: 2px solid rgba(255,255,255,0.6); }
.getinvolved__ghost:hover { background: #fff; color: var(--color-accent-800); }

@media (max-width: 900px) {
  .minhero__cols { grid-template-columns: 1fr; gap: 32px; }
  .minhero__title { font-size: clamp(40px, 8vw, 76px); }
  .minhero__lede { font-size: 18px; }
  .minindex { align-self: stretch; }
  .minindex__label { font-size: clamp(18px, 4vw, 22px); }

  .min__cols, .min--flip .min__cols { grid-template-columns: 1fr; gap: 32px; }
  
  .min--flip .min__photo { order: 0; }
  .min__photo,
  #youth .min__photo, #men .min__photo { min-height: 300px; }
  .min__title { font-size: clamp(30px, 6vw, 46px); }
  .min__lede { font-size: 17px; }
  .min__pair { grid-template-columns: 1fr; }

  .getinvolved { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 680px) {
  .minhero { padding: 40px var(--gutter); }
  .minhero__note { font-size: 15px; }
  .minindex a { grid-template-columns: 2.4em 1fr; gap: 14px; }

  .min__card { padding: 22px; }
  .min__pair--roomy .min__card { padding: 22px; }
  .min__quotebox { padding: 22px; }
  .min__sub { grid-template-columns: 2.2em 1fr; gap: 14px; }
  .min__subtext { font-size: 16px; }
  .min__caption { left: 20px; right: 20px; bottom: 20px; }
}

@keyframes mccGalleryLiveDot {
  0%, 100% { opacity: 0.3; transform: scale(0.82); }
  50% { opacity: 1; transform: scale(1); }
}
@keyframes mccGalleryFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.ghero {
  background: var(--ink);
  color: #EDEDEB;
  padding: 76px var(--gutter) 34px;
}

.ghero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 24px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.ghero__eyebrow::before {
  content: ""; display: block;
  width: 44px; height: 4px;
  background: var(--color-accent);
}

.ghero__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  align-items: end;
}

.ghero__title {
  margin: 0 0 24px;
  font-size: 76px; line-height: 0.92; letter-spacing: -0.04em;
  color: #FFFCF7;
}

.ghero__lede {
  margin: 0;
  font-size: 21px; line-height: 1.5;
  color: #D8D7D4;
  max-width: 46ch;
}

.ghero__stats { display: flex; gap: 4px; justify-content: flex-end; }

.ghero__stat {
  background: rgba(255, 255, 255, 0.06);
  padding: 22px 22px 24px;
  flex: 1 1 0; min-width: 0; max-width: 50%;
}

.ghero__statlabel {
  margin: 0 0 8px;
  display: flex; align-items: center; gap: 9px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: #8F8F89;
}
.ghero__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--color-accent);
  display: inline-block;
  animation: mccGalleryLiveDot 2.2s ease-in-out infinite;
}

.ghero__count {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 34px; line-height: 1; letter-spacing: -0.03em;
  color: #FFFCF7;
}
.ghero__sub {
  margin: 6px 0 0;
  font-size: 13.5px; line-height: 1.5;
  color: #9C9C97;
}

.gfilters {
  background: var(--ink);
  padding: 0 var(--gutter) 30px;
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap;
}

.gchip {
  display: inline-block;
  font: 700 13px var(--font-heading);
  letter-spacing: 0.04em;
  padding: 11px 18px;
  cursor: pointer;
  border: 2px solid rgba(255, 255, 255, 0.24);
  background: transparent;
  color: #D6D6D2;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
}
.gchip:hover { border-color: rgba(255, 255, 255, 0.48); color: #fff; }

.gfilters input:checked + .gchip {
  border-color: var(--color-accent-fill);
  background: var(--color-accent-fill);
  color: #fff;
}
.gfilters input:focus-visible + .gchip {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.gfilters__social { margin-left: auto; display: flex; gap: 14px; align-items: center; }
.gfilters__social a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 28px; min-height: 28px;
  color: #D6D6D2;
}
.gfilters__social a:hover { color: #fff; }

.ggallery {
  background: var(--ink);
  padding: 0 var(--gutter) 40px;
}

.ggrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 172px;
  grid-auto-flow: dense;
  gap: 4px;
}

.gtile-host {
  position: relative;
  min-width: 0;
}
.gtile {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  min-width: 0;
  background: #22252A;
  text-decoration: none;
  animation: mccGalleryFadeUp 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
.gtile--std { grid-column: span 1; grid-row: span 1; }
.gtile--wide { grid-column: span 2; grid-row: span 1; }
.gtile--tall { grid-column: span 1; grid-row: span 2; }

.gtile-host:nth-child(2) .gtile { animation-delay: 45ms; }
.gtile-host:nth-child(3) .gtile { animation-delay: 90ms; }
.gtile-host:nth-child(4) .gtile { animation-delay: 135ms; }
.gtile-host:nth-child(5) .gtile { animation-delay: 180ms; }
.gtile-host:nth-child(6) .gtile { animation-delay: 225ms; }
.gtile-host:nth-child(7) .gtile { animation-delay: 270ms; }
.gtile-host:nth-child(8) .gtile { animation-delay: 315ms; }
.gtile-host:nth-child(9) .gtile { animation-delay: 360ms; }
.gtile-host:nth-child(10) .gtile { animation-delay: 405ms; }
.gtile-host:nth-child(11) .gtile { animation-delay: 450ms; }
.gtile-host:nth-child(12) .gtile { animation-delay: 495ms; }
.gtile-host:nth-child(n + 13) .gtile { animation-delay: 540ms; }

.gtile__photo { position: absolute; inset: 0; overflow: hidden; }
.gtile__photo img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 32%;
  filter: contrast(1.16) brightness(1);
  transform: scale(1);
  transition: transform 1500ms cubic-bezier(0.22, 1, 0.36, 1);
}
.gtile:hover .gtile__photo img,
.gtile:focus-visible .gtile__photo img { transform: scale(1.07); }

.gtile__glow {
  position: absolute; inset: 0;
  background: radial-gradient(58% 44% at 72% 8%, rgba(255,212,156,0.44) 0%, rgba(255,190,120,0) 64%);
  mix-blend-mode: screen;
}
.gtile__shade {
  position: absolute; inset: 0;
  background: radial-gradient(124% 106% at 8% 104%, rgba(36,24,20,0.82) 0%, rgba(38,26,22,0) 66%);
  mix-blend-mode: multiply;
}
.gtile__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(6,8,10,0.9) 0%, rgba(6,8,10,0.36) 42%, rgba(6,8,10,0) 78%);
}

.gtile__body {
  position: absolute; left: 16px; right: 16px; bottom: 14px;
  display: flex; flex-direction: column; gap: 5px;
  text-align: left;
}

.gtile__source {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 10px; line-height: normal;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.gtile__caption {
  font-size: 13.5px; line-height: 1.35;
  color: #FFFCF7;
}

.ggallery__note {
  margin: 26px 0 0;
  font-size: 13.5px; line-height: 1.6;
  color: #8A8A84;
  max-width: 70ch;
}

:root:has(#gfilter-photo:checked) .gtile-host:not([data-kind="photo"]),
:root:has(#gfilter-video:checked) .gtile-host:not([data-kind="video"]) {
  display: none;
}

.ghero__count > span,
.ghero__sub > span { display: none; }
:root:has(#gfilter-all:checked) .ghero [data-count="all"],
:root:has(#gfilter-photo:checked) .ghero [data-count="photo"],
:root:has(#gfilter-video:checked) .ghero [data-count="video"] { display: inline; }

.gfollow {
  background: var(--color-accent-fill);
  display: grid;
  grid-template-columns: 11em 1fr auto;
  gap: 48px;
  align-items: center;
}
.gfollow .band__label { color: #fff; }

.gfollow__text {
  margin: 0;
  font-size: 19px; line-height: 1.45;
  color: #fff;
  max-width: 60ch;
}

.gfollow__actions { display: flex; gap: 12px; flex-wrap: wrap; }

.gfollow__btn {
  display: inline-block;
  font-family: var(--font-heading); font-weight: 700; font-size: 15px;
  padding: 17px 28px;
  background: #fff;
  color: var(--color-accent-800);
  text-decoration: none;
  white-space: nowrap;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
.gfollow__btn:hover { background: var(--color-accent-100); color: var(--color-accent-900); }

.gfollow__btn--ghost {
  padding: 17px 26px;
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.6);
}
.gfollow__btn--ghost:hover { background: rgba(255, 255, 255, 0.16); color: #fff; }

@media (max-width: 900px) {
  .ghero { padding: 56px var(--gutter) 28px; }
  .ghero__grid { grid-template-columns: 1fr; gap: 32px; align-items: start; }
  .ghero__title { font-size: 54px; }
  .ghero__lede { font-size: 18px; }
  .ghero__stats { justify-content: flex-start; }
  .ghero__stat { max-width: none; }

  .ggrid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 158px; }

  .gfollow { grid-template-columns: 1fr; gap: 24px; align-items: start; }
  .gfollow__text { font-size: 17px; }
}

@media (max-width: 680px) {
  .ghero { padding: 44px var(--gutter) 24px; }
  .ghero__title { font-size: 38px; }
  .ghero__lede { font-size: 16px; }

  .gfilters { padding-bottom: 22px; }

  .ggrid { grid-template-columns: 1fr; grid-auto-rows: 200px; }
  .gtile--wide, .gtile--tall { grid-column: span 1; grid-row: span 1; }

  .gfollow__btn, .gfollow__btn--ghost { white-space: normal; }
}

.gwhat { padding: 72px var(--gutter) 8px; max-width: 1240px; margin: 0 auto; }
.gwhat__title { font-size: 32px; margin-bottom: 18px; }
.gwhat__cols {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;
  margin-top: 34px;
}
.gwhat__h { font-size: 17px; margin-bottom: 10px; }
.gwhat__text {
  font-size: 14.5px; line-height: 1.7;
  color: color-mix(in srgb, var(--color-text) 78%, transparent);
  margin: 0;
}
.gwhat__foot {
  margin-top: 34px; padding-top: 22px;
  border-top: 1px solid var(--color-divider);
  font-size: 15px; line-height: 1.7;
}

@media (max-width: 900px) {
  .gwhat { padding-top: 52px; }
  .gwhat__cols { grid-template-columns: 1fr; gap: 28px; }
}

.gtile .gtile__photo.grayscale {
  transition: filter 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.gtile:hover .gtile__photo.grayscale,
.gtile:focus-visible .gtile__photo.grayscale {
  filter: grayscale(0) contrast(1.08) saturate(1.04);
}
@media (hover: none) {
  .gtile .gtile__photo.grayscale { filter: grayscale(0) contrast(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  .gtile .gtile__photo.grayscale { transition: none; }
}

.gfollow__tag {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px;
  margin: 22px 0 0;
}
.gfollow__hash {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 15px; letter-spacing: -0.01em;
  color: #FFFCF7; background: transparent;
  border: 2px dashed rgba(255, 252, 247, 0.42);
  padding: 12px 20px; cursor: pointer;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
}
.gfollow__hash:hover {
  background: var(--color-accent-fill); border-color: var(--color-accent-fill);
  border-style: solid; color: var(--on-accent);
}
.gfollow__hash[data-copied="true"] {
  background: var(--color-accent-fill); border-color: var(--color-accent-fill);
  border-style: solid; color: var(--on-accent);
}
.gfollow__tagnote {
  font-size: 13.5px;
  color: #FFFCF7;
}

.gfollow__main { min-width: 0; }

@media (max-width: 600px) {
  .gfollow__hash { width: 100%; }
}

.pg-host,
.pg-lb {
  --pg-accent: var(--color-accent);
  --pg-on-accent: var(--on-accent);
  --pg-ink: var(--ink);
  --pg-scrim: color-mix(in srgb, var(--ink) 88%, transparent);
  --pg-font: var(--font-body);
  --pg-font-ui: var(--font-heading);
  --pg-radius: var(--radius);
}

.gtile__caption {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gtile-host[data-kind="video"] .gtile__photo img { object-position: 50% 50%; }

.gtile--portrait .gtile__photo img { object-fit: contain; background: #15171A; }

.gtile__play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  display: flex; align-items: center; justify-content: center;
  width: 54px; height: 54px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--ink) 62%, transparent);
  color: #fff;
  backdrop-filter: blur(3px);
  transition: background 220ms ease, transform 220ms var(--pg-ease, ease);
  pointer-events: none;
  z-index: 1;
}
.gtile__play svg { width: 22px; height: 22px; margin-left: 3px; }
.gtile-host:hover .gtile__play {
  background: var(--color-accent);
  color: var(--on-accent);
  transform: translate(-50%, -50%) scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .gtile__play { transition: none; }
  .gtile-host:hover .gtile__play { transform: translate(-50%, -50%); }
}

.gwhat__consent {
  margin: 26px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--color-divider);
  font-size: 14.5px; line-height: 1.65;
  color: color-mix(in srgb, var(--color-text) 78%, transparent);
}

@keyframes mccSlowZoom {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}
@keyframes mccRefIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.givehero {
  position: relative;
  background: var(--ink);
  color: #EDEDEB;
  overflow: hidden;
  padding: clamp(56px, 6vw, 84px) clamp(24px, 4vw, 40px);
}
.givehero__photo { position: absolute; inset: 0; overflow: hidden; }
.givehero__photo img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 34%;
  will-change: transform;
  animation: mccSlowZoom 30s ease-in-out infinite alternate;
  filter: contrast(1.16) brightness(0.82);
}
.givehero__wash { position: absolute; inset: 0; }
.givehero__wash--1 {
  background: radial-gradient(58% 44% at 74% 6%, rgba(255,212,156,0.4) 0%, rgba(255,190,120,0) 62%);
  mix-blend-mode: screen;
}
.givehero__wash--2 {
  background: linear-gradient(96deg, rgba(22,24,26,0.96) 0%, rgba(22,24,26,0.86) 46%, rgba(22,24,26,0.62) 100%);
}

.givehero__inner { position: relative; }
.givehero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 24px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.givehero__eyebrow::before { content: ""; width: 44px; height: 4px; background: var(--color-accent); display: block; }

.givehero__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(32px, 4vw, 56px);
  align-items: end;
}
.givehero__title {
  margin: 0 0 24px;
  font-size: clamp(46px, 6.4vw, 76px); line-height: 0.94; letter-spacing: -0.04em;
  color: #FFFCF7;
  text-wrap: balance;
}
.givehero__lede { margin: 0 0 20px; font-size: 21px; line-height: 1.5; color: #D8D7D4; max-width: 46ch; }
.givehero__note { margin: 0 0 30px; font-size: 16px; line-height: 1.6; color: #B4B4AF; max-width: 52ch; }
.givehero__cta { font-size: 15.5px; padding: 18px 28px; }

.givehero__quote {
  margin: 0;
  display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
  max-width: 34ch;
  justify-self: end;
}
.givehero__quote blockquote {
  margin: 0;
  font-family: var(--logo-font); font-weight: 200;
  font-size: clamp(15px, 1.3vw, 18px); line-height: 1.5; letter-spacing: 0.005em;
  color: rgba(255,252,247,0.5);
  text-wrap: pretty;
}
.givehero__quote figcaption {
  margin-top: var(--space-1);
  font-family: var(--font-heading); font-weight: 600;
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(255,252,247,0.72);
}

.giving {
  background: var(--color-bg);
  padding: clamp(56px, 6vw, 84px) clamp(24px, 4vw, 40px);
}
.giving__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 4px;
  align-items: stretch;
}

.banking { background: var(--ink); color: #EDEDEB; padding: 44px 44px 48px; }
.banking__head {
  margin: 0 0 8px;
  font-size: clamp(28px, 2.9vw, 34px); line-height: 1.05; letter-spacing: -0.028em;
  color: #FFFCF7;
}
.banking__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); margin-bottom: 26px; }

.banking__list { display: grid; gap: 0; margin: 0; }
.banking__row {
  display: grid; grid-template-columns: 13ch 1fr; gap: 16px;
  padding: 14px 0;
  border-bottom: 2px solid rgba(255,255,255,0.14);
  align-items: baseline;
}
.banking__row:last-child { border-bottom: none; }
.banking__row dt {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: #8A8A84;
}
.banking__row dd { margin: 0; font-size: 17px; color: #FFFCF7; }
.banking__row--holder dd {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 19px; letter-spacing: -0.01em;
}
.banking__row--number dd {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 27px; letter-spacing: 0.01em; line-height: 1.1;
}
.banking__row--swift dd { letter-spacing: 0.04em; }

.banking__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; align-items: center; }
.banking__copy {
  font: 700 15px var(--font-heading);
  padding: 17px 28px;
  cursor: pointer; border: none;
  background: var(--color-accent-fill); color: var(--on-accent);
  transition: background 220ms ease, color 220ms ease;
}

.banking__copy[data-copied] { background: #FFFCF7; color: var(--ink); }
.banking__email { font-size: 15px; padding: 17px 26px; }

.giving__side { display: grid; gap: 4px; }
.giveref, .giveswift { background: var(--color-surface); padding: 34px 34px 36px; }
.giveref__eyebrow, .giveswift__eyebrow {
  margin: 0 0 8px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.giveref__head { margin: 0 0 14px; font-size: 26px; letter-spacing: -0.02em; color: var(--ink); }
.giveswift__head { margin: 0 0 12px; font-size: 26px; letter-spacing: -0.02em; color: var(--ink); }
.giveswift__body {
  margin: 0;
  font-size: 15.5px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
}

.giveref__chips { display: flex; gap: 4px; flex-wrap: wrap; }
.giveref__chip {
  font-family: var(--font-heading); font-weight: 700;
  font-size: 13.5px; padding: 10px 14px; cursor: default;
  background: var(--color-bg);
  border: 2px solid var(--color-divider);
  color: var(--ink);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.giveref__chip:hover { background: var(--color-accent-fill); border-color: var(--color-accent-fill); color: var(--on-accent); }

.giveref__state {
  margin-top: 14px; min-height: 52px;
  display: flex; flex-direction: column; justify-content: center; gap: 4px;
}

.giveref__hint { font-size: 14px; line-height: 1.5; color: color-mix(in srgb, var(--ink) 82%, transparent); }
.giveref__prefix {
  display: none;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
  animation: mccRefIn 240ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
.giveref__eg {
  display: none;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 18px; letter-spacing: 0.01em;
  color: var(--ink);
  animation: mccRefIn 240ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.giveref__chips:has(.giveref__chip:hover) ~ .giveref__state .giveref__hint { display: none; }
.giveref__chips:has(.giveref__chip:hover) ~ .giveref__state .giveref__prefix { display: block; }
.giveref__chips:has(.giveref__chip:nth-child(1):hover) ~ .giveref__state .giveref__eg[data-ref="1"],
.giveref__chips:has(.giveref__chip:nth-child(2):hover) ~ .giveref__state .giveref__eg[data-ref="2"],
.giveref__chips:has(.giveref__chip:nth-child(3):hover) ~ .giveref__state .giveref__eg[data-ref="3"],
.giveref__chips:has(.giveref__chip:nth-child(4):hover) ~ .giveref__state .giveref__eg[data-ref="4"] { display: block; }

.giveref__note {
  margin: 6px 0 0;
  font-size: 15px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 68%, transparent);
}

.why {
  background: var(--ink); color: #EDEDEB;
  padding: clamp(56px, 6vw, 84px) clamp(24px, 4vw, 40px);
}
.why__grid {
  display: grid;
  grid-template-columns: minmax(220px, 26ch) 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}
.why__head {
  margin: 0 0 10px;
  font-size: clamp(32px, 3.4vw, 40px); line-height: 1.02; letter-spacing: -0.03em;
  color: #FFFCF7;
}
.why__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); margin-bottom: 18px; }
.why__lede { margin: 0; font-size: 15.5px; line-height: 1.6; color: #9C9C97; }

.why__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0 48px;
}
.why__item {
  display: grid; grid-template-columns: 2.8em 1fr; gap: 18px;
  padding: 20px 0;
  border-bottom: 2px solid rgba(255,255,255,0.18);
  align-items: baseline;
}
.why__num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--color-accent-300); }
.why__title {
  display: block; margin: 0 0 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 18px; line-height: 1.55; letter-spacing: normal;
  color: #FFFCF7;
}
.why__text { display: block; margin: 0; font-size: 15.5px; line-height: 1.55; color: #A9A9A4; }
.why__ref { color: var(--color-accent-300); }

.where {
  background: var(--color-surface);
  padding: clamp(56px, 6vw, 84px) clamp(24px, 4vw, 40px);
}
.where__head { margin-bottom: 34px; }
.where__eyebrow {
  margin: 0 0 14px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.where__title {
  margin: 0 0 18px;
  font-size: clamp(34px, 3.9vw, 46px); line-height: 1.0; letter-spacing: -0.034em;
  color: var(--ink);
  text-wrap: balance;
}
.where__lede {
  margin: 0 0 16px;
  font-size: 17.5px; line-height: 1.58;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
  max-width: 62ch;
  text-wrap: pretty;
}
.where__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); }

.where__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(272px, 1fr));
  gap: 4px;
}
.wcard {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  background: var(--ink);
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.wcard:hover { transform: translateY(-4px); }
.wcard__photo { position: absolute; inset: 0; overflow: hidden; }
.wcard__photo img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 34%;
  will-change: transform;
  filter: contrast(1.16) brightness(0.94);
}
.wcard--1 .wcard__photo img { animation: mccSlowZoom 26s ease-in-out infinite alternate; }
.wcard--2 .wcard__photo img { object-position: 50% 40%; animation: mccSlowZoom 29s ease-in-out infinite alternate; }
.wcard--3 .wcard__photo img { animation: mccSlowZoom 24s ease-in-out infinite alternate; }

.wcard__wash { position: absolute; inset: 0; }
.wcard__wash--1 {
  background: radial-gradient(58% 44% at 72% 8%, rgba(255,212,156,0.4) 0%, rgba(255,190,120,0) 64%);
  mix-blend-mode: screen;
}
.wcard__wash--2 {
  background: radial-gradient(124% 106% at 8% 104%, rgba(36,24,20,0.86) 0%, rgba(38,26,22,0) 66%);
  mix-blend-mode: multiply;
}
.wcard__wash--3 {
  background: linear-gradient(0deg, rgba(6,8,10,0.95) 0%, rgba(6,8,10,0.55) 40%, rgba(6,8,10,0.06) 78%, rgba(6,8,10,0.18) 100%);
}
.wcard__num {
  position: absolute; left: 28px; top: 26px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.18em;
  color: rgba(255,252,247,0.6);
}
.wcard__body {
  position: absolute; left: 28px; right: 28px; bottom: 28px;
  display: flex; flex-direction: column; gap: 12px;
}
.wcard__rule { width: 40px; height: 3px; background: var(--color-accent); display: block; }
.wcard__title {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 24px; line-height: 1.1; letter-spacing: -0.022em;
  color: #FFFCF7;
}
.wcard__text {
  margin: 0;
  font-size: 15.5px; line-height: 1.55;
  color: rgba(255,252,247,0.8);
  max-width: 30ch;
  text-wrap: pretty;
}

.build {
  position: relative;
  overflow: hidden;
  background: var(--color-accent);
  padding: clamp(44px, 4.8vw, 62px) clamp(24px, 4vw, 40px);
  display: grid;
  grid-template-columns: minmax(360px, 1.2fr) auto;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.build__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 42%;
  filter: grayscale(1) contrast(1.1);
  opacity: 0.16;
  mix-blend-mode: luminosity;
  will-change: transform;
  animation: mccSlowZoom 34s ease-in-out infinite alternate;
}
.build__wash {
  position: absolute; inset: 0;
  background: linear-gradient(96deg, var(--color-accent) 0%, rgba(255,86,60,0.82) 58%, rgba(255,86,60,0.62) 100%);
  mix-blend-mode: multiply;
}
.build__text { position: relative; }
.build__eyebrow {
  margin: 0 0 14px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.72);
}
.build__title {
  margin: 0 0 14px;
  font-size: clamp(30px, 3.2vw, 38px); line-height: 1.06; letter-spacing: -0.03em;
  color: #fff;
  max-width: 26ch;
  text-wrap: balance;
}
.build__lede {
  margin: 0 0 18px;
  font-size: 17.5px; line-height: 1.55;
  color: rgba(255,255,255,0.9);
  max-width: 52ch;
  text-wrap: pretty;
}
.build__lede strong { font-weight: 800; }

.build__quote { margin: 0; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.build__quote blockquote {
  margin: 0;
  font-family: var(--logo-font); font-weight: 200; font-style: italic;
  font-size: clamp(17px, 1.5vw, 20px); line-height: 1.45; letter-spacing: 0.005em;
  color: #fff;
  max-width: 46ch;
  text-wrap: pretty;
}
.build__mark {
  font-size: 2.2em; line-height: 0; vertical-align: -0.3em;
  font-weight: 300; font-style: normal;
  color: rgba(255,255,255,0.55);
}
.build__mark--open { margin-right: 2px; }
.build__mark--close { margin-left: 2px; }
.build__quote figcaption {
  margin-top: var(--space-1);
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: #fff;
}
.build__quote figcaption::before { content: ""; width: 26px; height: 2px; background: rgba(255,255,255,0.7); display: block; }

.build__actions {
  position: relative;
  display: flex; gap: 12px; flex-wrap: wrap;
  justify-self: end; align-items: center;
}
.build__ask {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 16px; padding: 19px 32px;
  background: var(--ink); color: #fff;
  text-decoration: none; display: inline-block; white-space: nowrap;
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.build__ask:hover { color: #fff; transform: translateY(-2px); }
.build__details {
  font-family: var(--font-heading); font-weight: 700;
  font-size: 15px; padding: 18px 26px;
  color: #fff; text-decoration: none;
  border: 2px solid rgba(255,255,255,0.55);
  display: inline-block; white-space: nowrap;
  transition: background 200ms ease, border-color 200ms ease;
}
.build__details:hover { background: rgba(255,255,255,0.14); border-color: #fff; color: #fff; }

@media (max-width: 900px) {
  .build { grid-template-columns: 1fr; }
  .build__actions { justify-self: start; }
}

@media (max-width: 680px) {
  .givehero__quote { justify-self: start; }
  .giving__grid, .where__grid, .why__grid { grid-template-columns: 1fr; }
  .banking { padding: 32px 26px 36px; }
  .giveref, .giveswift { padding: 26px 26px 28px; }
}

.contacthero { padding: 76px var(--gutter) 0; color: #EDEDEB; }

.contacthero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 24px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.contacthero__eyebrow::before {
  content: ""; width: 44px; height: 4px;
  background: var(--color-accent); display: block;
}

.contacthero__top {
  display: grid; grid-template-columns: 1.15fr 1fr;
  gap: 56px; align-items: end;
}
.contacthero__intro { padding-bottom: 8px; }
.contacthero__title {
  margin: 0 0 24px;
  font-size: 76px; line-height: 0.92; letter-spacing: -0.04em;
  color: #FFFCF7;
}
.contacthero__lede { margin: 0 0 20px; font-size: 21px; line-height: 1.5; color: #D8D7D4; max-width: 46ch; }
.contacthero__note { margin: 0; font-size: 16px; line-height: 1.6; color: #9C9C97; max-width: 52ch; }

.contacthero__reach { display: grid; gap: 4px; padding-bottom: 8px; }

.reach {
  display: flex; align-items: center; gap: 18px;
  background: rgba(255,255,255,0.06);
  padding: 22px 24px 24px;
  text-decoration: none;
  transition: background 200ms ease;
}
.reach:hover { background: rgba(255,255,255,0.12); }
.reach__icon {
  width: 44px; height: 44px; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.14); color: #FFFCF7;
}
.reach__icon--accent { background: var(--color-accent); color: var(--on-accent); }
.reach__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.reach__kicker {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.reach__value {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 20px; letter-spacing: -0.01em;
  color: #FFFCF7;
}
.reach__addr { font-size: 15.5px; line-height: 1.4; color: #EDEDEB; }
.reach__arrow { margin-left: auto; font-size: 17px; color: #8A8A84; }

.contacthero__times {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;
  margin-top: 56px; padding-bottom: 46px;
}
.contacttime__label {
  margin: 0 0 6px;
  display: flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: #8A8A84;
}
.contacttime__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-accent);
  display: none; flex: none;
  animation: mccNextDot 2.4s ease-in-out infinite;
}
.contacttime[data-next="true"] .contacttime__dot { display: inline-block; }
.contacttime__time {
  margin: 0;
  transform-origin: left center;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 50px; line-height: 1;
  color: #FFFCF7;
}
.contacttime__time > span { display: inline-block; }
.contacttime[data-next="true"] .contacttime__time > span {
  animation: mccNextPulse 2.4s ease-in-out infinite;
  transform-origin: left center;
}
.contacttime__doors { margin: 0 0 6px; font-size: 15.5px; line-height: 1.4; color: #EDEDEB; font-weight: 600; }
.contacttime__link {
  display: inline-block; padding: 5px 0;
  font-size: 14.5px; font-weight: 600; color: var(--color-accent-300);
}
.contacttime__link:hover { color: #fff; }

.contactmsg { padding: 84px var(--gutter); }
.contactmsg__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }

.contactmsg__card { background: var(--color-surface); padding: 44px 44px 48px; }
.contactmsg__head {
  margin: 0 0 8px;
  font-size: 34px; line-height: 1.05; letter-spacing: -0.028em;
  color: var(--ink);
}
.contactmsg__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); margin-bottom: 24px; }
.contactmsg__blurb {
  margin: 0 0 26px;
  font-size: 16px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
  max-width: 46ch;
}

.contactmsg__form { display: grid; gap: 14px; margin: 0; }
.contactmsg__field { display: grid; gap: 7px; }
.contactmsg__label {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}
.contactmsg__input {
  font-size: 16px; padding: 14px 16px;
  background: var(--color-bg);
  border-color: var(--color-divider);
  color: var(--ink);
  width: 100%;
}
.contactmsg__textarea { resize: vertical; font-family: inherit; }

.contactmsg__topics { display: flex; gap: 4px; flex-wrap: wrap; }
.contactmsg__topic {
  display: inline-block;
  font: 700 13px var(--font-heading);
  padding: 11px 16px;
  cursor: pointer;
  border: 2px solid var(--color-divider);
  background: transparent;
  color: var(--ink);
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
}
.contactmsg__radio:checked + .contactmsg__topic {
  border-color: var(--color-accent-fill);
  background: var(--color-accent-fill);
  color: #fff;
}
.contactmsg__radio:focus-visible + .contactmsg__topic {
  outline: 2px solid var(--color-accent); outline-offset: 2px;
}

.contactmsg__actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.contactmsg__send { font-size: 15px; padding: 17px 28px; }
.contactmsg__wa { font-size: 15px; padding: 17px 26px; }
.contactmsg__hint {
  margin: 4px 0 0;
  font-size: 13.5px; line-height: 1.55;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}

.contactside { display: grid; gap: 4px; }
.contactside__map {
  position: relative; min-height: 320px;
  background: var(--color-surface);
  overflow: hidden;
}
.contactside__map iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
  filter: grayscale(1) contrast(1.06);
}

.contactside__photo { position: relative; min-height: 300px; overflow: hidden; background: var(--ink); }
.contactside__frame { position: absolute; inset: 0; overflow: hidden; }
.contactside__frame img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 34%;
  filter: contrast(1.16) brightness(1);
}
.contactside__wash-1 {
  position: absolute; inset: 0;
  background: radial-gradient(58% 44% at 72% 8%, rgba(255,212,156,0.46) 0%, rgba(255,190,120,0) 64%);
  mix-blend-mode: screen;
}
.contactside__wash-2 {
  position: absolute; inset: 0;
  background: radial-gradient(124% 106% at 8% 104%, rgba(36,24,20,0.84) 0%, rgba(38,26,22,0) 66%);
  mix-blend-mode: multiply;
}
.contactside__wash-3 {
  position: absolute; left: 0; right: 0; bottom: 0; height: 56%;
  background: linear-gradient(0deg, rgba(6,8,10,0.92) 0%, rgba(6,8,10,0.5) 40%, rgba(6,8,10,0) 100%);
}
.contactside__caption { position: absolute; left: 28px; right: 28px; bottom: 26px; }
.contactside__kicker {
  margin: 0 0 6px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.contactside__place {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 22px; line-height: 1.2; letter-spacing: -0.02em;
  color: #FFFCF7;
}

.contactprayer { padding: 76px var(--gutter); color: #EDEDEB; }
.contactprayer__cols { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; align-items: stretch; }
.contactprayer__figure {
  position: relative;
  width: 100%; min-width: 0; height: 100%; min-height: 340px;
  overflow: hidden;
  background: transparent;
  -webkit-mask-image:
    radial-gradient(120% 108% at 42% 30%, rgba(0,0,0,1) 48%, rgba(0,0,0,0.82) 68%, rgba(0,0,0,0.3) 88%, rgba(0,0,0,0) 100%),
    linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.4) 88%, rgba(0,0,0,0) 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    radial-gradient(120% 108% at 42% 30%, rgba(0,0,0,1) 48%, rgba(0,0,0,0.82) 68%, rgba(0,0,0,0.3) 88%, rgba(0,0,0,0) 100%),
    linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 62%, rgba(0,0,0,0.4) 88%, rgba(0,0,0,0) 100%);
  mask-composite: intersect;
}
.contactprayer__frame { position: absolute; inset: 0; overflow: hidden; }
.contactprayer__frame img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 18%;
  filter: contrast(1.1) brightness(1.02) sepia(0.14) saturate(1.35) hue-rotate(-12deg);
}
.contactprayer__glow-1 {
  position: absolute; inset: 0;
  background: radial-gradient(48% 36% at 42% 26%, rgba(255,238,214,0.2) 0%, rgba(255,238,214,0) 72%);
  mix-blend-mode: screen;
}
.contactprayer__glow-2 {
  position: absolute; inset: 0;
  background: radial-gradient(104% 90% at 42% 28%, rgba(22,24,26,0) 40%, rgba(24,20,20,0.5) 76%, rgba(22,24,26,0.94) 100%);
}
.contactprayer__glow-3 {
  position: absolute; inset: 0;
  background: linear-gradient(96deg, rgba(22,24,26,0) 46%, rgba(22,24,26,0.5) 80%, rgba(22,24,26,1) 100%);
}
.contactprayer__head { margin: 0 0 8px; font-size: 42px; line-height: 1.04; letter-spacing: -0.032em; color: #FFFCF7; }
.contactprayer__rule { display: block; width: 56px; height: 4px; background: var(--color-accent); margin-bottom: 24px; }
.contactprayer__lede { margin: 0 0 18px; font-size: 18px; line-height: 1.55; color: #C6C6C1; max-width: 46ch; }
.contactprayer__note { margin: 0 0 28px; font-size: 15.5px; line-height: 1.6; color: #9C9C97; max-width: 50ch; }
.contactprayer__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.contactprayer__actions .btn-primary { font-size: 15px; padding: 17px 28px; }
.contactprayer__actions .btn-onink { padding: 17px 26px; }

.contactfaq { padding: 76px var(--gutter); }
.contactfaq__head { display: flex; align-items: flex-end; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
.contactfaq__head h2 { margin: 0; font-size: 40px; line-height: 1.02; letter-spacing: -0.03em; color: var(--ink); }
.contactfaq__head p {
  margin: 0 0 6px;
  font-size: 16px;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
  max-width: 52ch;
}
.contactfaq__head a {
  display: inline-block; margin: 0 0 6px auto; padding: 2px 0;
  font-size: 14.5px; font-weight: 700;
}
.contactfaq__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.contactfaq__card { background: var(--color-bg); padding: 30px 30px 32px; }
.contactfaq__card h3 { margin: 0 0 10px; font-size: 21px; letter-spacing: -0.015em; color: var(--ink); }
.contactfaq__card p {
  margin: 0;
  font-size: 15.5px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
}

.contactfollow {
  background: var(--color-accent-fill);
  padding: 56px var(--gutter);
  display: grid;
  grid-template-columns: 11em 1fr auto;
  gap: 48px;
  align-items: center;
}
.contactfollow__label {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: #fff;
}
.contactfollow__text { margin: 0; font-size: 19px; line-height: 1.45; color: #fff; max-width: 60ch; }
.contactfollow__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.contactfollow__btn,
.contactfollow__ghost {
  display: inline-block;
  font-family: var(--font-heading); font-weight: 700; font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
}
.contactfollow__btn { padding: 17px 28px; background: #fff; color: var(--color-accent-800); }
.contactfollow__btn:hover { color: var(--color-accent-900); }
.contactfollow__ghost { padding: 17px 26px; color: #fff; border: 2px solid rgba(255,255,255,0.6); }
.contactfollow__ghost:hover { color: #fff; border-color: #fff; }

@media (max-width: 900px) {
  .contacthero__top { grid-template-columns: 1fr; gap: 32px; }
  .contacthero__intro { padding-bottom: 0; }
  .contacthero__times { grid-template-columns: 1fr; gap: 24px; margin-top: 36px; }
  .contactmsg__grid { grid-template-columns: 1fr; }
  .contactprayer__cols { grid-template-columns: 1fr; gap: 28px; }
  .contactfaq__grid { grid-template-columns: 1fr; }
  .contactfollow { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 680px) {
  .contacthero, .contactmsg, .contactprayer,
  .contactfaq, .contactfollow { padding: 40px var(--gutter); }

  
  .reach { padding: 18px 18px 20px; gap: 14px; }
  .reach__value { font-size: 17px; overflow-wrap: anywhere; }
  .reach__text { min-width: 0; flex: 1; }
}

.contactmsg__pot {
  position: absolute;
  left: -9999px;
  width: 1px; height: 1px;
  overflow: hidden;
}

.contactmsg__status {
  display: none;
  margin: 18px 0 0;
  padding: 16px 18px;
  border-left: 4px solid currentColor;
  font-size: 15px;
  line-height: 1.55;
}
.contactmsg__status[data-state] {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
}
.contactmsg__status::before {
  content: "";
  width: 22px; height: 22px;
  background: currentColor;
  -webkit-mask: var(--icon) center / 22px 22px no-repeat;
  mask: var(--icon) center / 22px 22px no-repeat;
}
.contactmsg__status > span { min-width: 0; }
.contactmsg__status b { display: block; font-weight: 800; margin-bottom: 2px; }

.contactmsg__status[data-state="sent"] {
  color: #14603B;
  background: #E8F2EC;
  --icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 100 20 10 10 0 000-20zm4.8 7.4l-5.9 6a1 1 0 01-1.4 0L7 12.9a1 1 0 011.4-1.4l1.8 1.8 5.2-5.3a1 1 0 011.4 1.4z"/></svg>');
}
.contactmsg__status[data-state="failed"] {
  color: #8E2C2C;
  background: #FBEDED;
  --icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 100 20 10 10 0 000-20zm1 15h-2v-2h2zm0-4h-2V7h2z"/></svg>');
}
.contactmsg__status a { color: inherit; font-weight: 700; }

@media (prefers-reduced-motion: no-preference) {
  .contactmsg__status[data-state] { animation: mccStatusIn 260ms ease both; }
}
@keyframes mccStatusIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}

.contactmsg__send:disabled { opacity: 0.6; cursor: progress; }

.legal-hero {
  background: var(--ink);
  color: #EDEDEB;
  padding: 72px var(--gutter) 60px;
}

.legal-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 22px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  color: #fff;
}
.legal-hero__eyebrow::before { content: ""; width: 44px; height: 4px; background: var(--color-accent); display: block; }

.legal-hero__grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.25fr) minmax(280px, 1fr);
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}

.legal-hero__title {
  margin: 0 0 20px;
  font-size: clamp(40px, 5.4vw, 64px); line-height: 0.96; letter-spacing: -0.038em;
  color: #FFFCF7;
  text-wrap: balance;
}
.legal-hero__lede {
  margin: 0 0 18px;
  font-size: 19.5px; line-height: 1.5;
  color: #D8D7D4;
  max-width: 50ch; text-wrap: pretty;
}
.legal-hero__meta { margin: 0; font-size: 14px; line-height: 1.6; color: #8A8A84; }

.legal-toc__label {
  margin: 0 0 12px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; line-height: 1.55; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-300);
}
.legal-toc__row {
  display: grid; grid-template-columns: 2.4em 1fr; gap: 12px;
  padding: 11px 0;
  border-bottom: 2px solid rgba(255, 255, 255, 0.14);
  text-decoration: none;
  align-items: baseline;
}
.legal-toc__num {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 12px;
  color: var(--color-accent-300);
}
.legal-toc__text { font-size: 14.5px; line-height: 1.45; color: #D6D6D2; }
.legal-toc__row:hover .legal-toc__text,
.legal-toc__row:focus-visible .legal-toc__text { color: #fff; }

.legal-body { background: var(--color-bg); padding: 20px var(--gutter) 72px; }

.legal-sec { padding: 34px 0; border-top: 2px solid var(--color-divider); }
.legal-sec__grid {
  display: grid; grid-template-columns: minmax(60px, 4em) 1fr;
  gap: clamp(20px, 3vw, 36px);
  align-items: start;
}
.legal-sec__num {
  font-family: var(--font-heading); font-weight: 800;
  font-size: 13px; letter-spacing: 0.06em;
  color: var(--color-accent-700);
  padding-top: 6px;
}
.legal-sec h2 {
  margin: 0 0 14px;
  font-size: clamp(24px, 2.4vw, 29px); line-height: 1.12; letter-spacing: -0.024em;
  color: var(--ink);
}
.legal-sec p {
  margin: 0 0 14px;
  font-size: 16.5px; line-height: 1.68;
  color: color-mix(in srgb, var(--ink) 76%, transparent);
  max-width: 74ch; text-wrap: pretty;
}
.legal-sec ul {
  margin: 4px 0 14px; padding: 0 0 0 20px;
  display: grid; gap: 8px;
  max-width: 74ch;
}
.legal-sec li {
  font-size: 16px; line-height: 1.6;
  color: color-mix(in srgb, var(--ink) 76%, transparent);
}

.legal-cta {
  margin-top: 40px;
  background: var(--color-surface);
  padding: 34px 34px 36px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
  align-items: start;
}
.legal-cta__eyebrow {
  margin: 0 0 8px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-accent-700);
}
.legal-cta__title { margin: 0 0 12px; font-size: 26px; letter-spacing: -0.02em; color: var(--ink); }
.legal-cta__text {
  margin: 0;
  font-size: 16px; line-height: 1.62;
  color: color-mix(in srgb, var(--ink) 72%, transparent);
  max-width: 46ch;
}
.legal-cta__actions { display: grid; gap: 10px; justify-items: start; }
.legal-cta__actions .btn-primary { font-size: 15px; padding: 16px 26px; }
.legal-cta__actions .btn-secondary { font-size: 15px; padding: 16px 24px; }
.legal-cta__more { display: inline-block; padding: 3px 0; font-size: 14.5px; font-weight: 700; }

.legal-also {
  margin-top: 4px;
  background: var(--color-surface);
  padding: 24px 34px 26px;
  display: flex; gap: 12px 28px; flex-wrap: wrap;
  align-items: center;
}
.legal-also__label {
  margin: 0;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; line-height: 1.55; letter-spacing: 0.18em; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}
.legal-also a { display: inline-block; padding: 2px 0; font-size: 15px; font-weight: 600; }

@media (max-width: 900px) {
  .legal-hero__grid { grid-template-columns: 1fr; gap: 36px; }
}

@media (max-width: 680px) {
  .legal-sec__grid { grid-template-columns: 1fr; gap: 8px; }
  .legal-sec__num { padding-top: 0; }
  
  .legal-toc__row { padding: 13px 0; }
  .legal-cta { padding: 26px 22px 28px; }
  .legal-also { padding: 20px 22px 22px; }
}



.notfound {
  background: var(--ink);
  border-top: 3px solid var(--color-accent);
  padding: 96px var(--gutter) 76px;
  color: #D6D6D2;
}

.notfound__code {
  margin: 0 0 18px;
  font-family: var(--font-heading); font-weight: 800;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--color-accent-300);
}

.notfound__title {
  margin: 0 0 20px;
  font-size: clamp(34px, 5vw, 56px); line-height: 1.02; letter-spacing: -0.032em;
  color: #FFFCF7;
  max-width: 22ch;
}

.notfound__lede {
  margin: 0 0 34px;
  font-size: 18px; line-height: 1.55;
  color: #9C9C97;
  max-width: 54ch;
}

.notfound__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 64px; }
.notfound__actions .btn-primary { font-size: 15px; padding: 17px 28px; }

.notfound__map { border-top: 2px solid rgba(255, 255, 255, 0.14); padding-top: 26px; }
.notfound__map ul {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 4px 40px;
  
  max-width: 640px;
}
.notfound__map a {
  display: block;
  padding: 8px 0;
  font-size: 15px;
  color: #D6D6D2;
  text-decoration: none;
}
.notfound__map a:hover { color: #fff; }

@media (max-width: 680px) {
  .notfound { padding: 56px var(--gutter) 48px; }
  .notfound__actions { margin-bottom: 40px; }
}

@media (max-width: 900px) {
  :root { --header-h: 122px; }

  .site-header {
    position: sticky;
    gap: 16px;
    padding: 14px 24px;
    flex-wrap: wrap;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    background: transparent;
    border: 2px solid var(--color-accent);
    color: var(--ink);
    cursor: pointer;
  }
  .nav-toggle__bars,
  .nav-toggle__bars::before,
  .nav-toggle__bars::after {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background: currentColor;
  }
  .nav-toggle__bars { position: relative; }
  .nav-toggle__bars::before { position: absolute; top: -6px; }
  .nav-toggle__bars::after { position: absolute; top: 6px; }

  
  .nav {
    display: none;
    flex-basis: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0 -24px -14px;
    padding: 4px 24px 12px;
    border-top: 2px solid color-mix(in srgb, var(--ink) 12%, transparent);
  }
  [data-nav-toggle][aria-expanded="true"] + .nav { display: flex; }

  .nav a {
    padding: 14px 4px;
    font-size: 16px;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
  }
  body:not(.page-index) .nav a[aria-current="page"]:not(.nav__cta) {
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    padding-bottom: 14px;
  }
  .nav a.nav__cta {
    margin-top: 12px;
    justify-content: center;
    padding: 16px 22px;
    font-size: 15px;
    border-bottom: 0;
  }

  
  .band__grid,
  .donate {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .site-footer { padding: 44px 24px 22px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .site-footer__legal { gap: 12px; }
  .site-footer__legal nav { margin-left: 0; gap: 16px; }
}

@media (max-width: 680px) {
  :root { --header-h: 90px; }

  :root { --gutter: 20px; }

  .site-header { padding: 12px 20px; }
  .nav { margin: 0 -20px -12px; padding: 4px 20px 12px; }

  .brand { gap: 10px; }
  .brand__mark { width: 60px; height: 60px; }
  .brand__wordmark { font-size: 19px; }
  .brand__text { gap: 6px; }
  
  .brand__verse { display: none; }

  .band { padding: 40px var(--gutter); }

  .site-footer { padding: 36px 20px 20px; }
  .site-footer__motto { font-size: 24px; }
  .soc { width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}



.pg-scope,
.pg,
.pg-host,
.pg-lb {
  --pg-gap: 10px;
  --pg-radius: 0px;
  --pg-accent: #B07908;
  --pg-on-accent: #ffffff;
  --pg-ink: #16181A;
  --pg-paper: #ffffff;
  --pg-muted: rgba(255, 255, 255, 0.72);
  --pg-scrim: rgba(18, 14, 11, 0.86);
  --pg-tile-bg: #22252A;
  --pg-font: inherit;
  --pg-font-ui: inherit;
  --pg-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --pg-rows: 220px;
}



.pg {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: var(--pg-rows);
  grid-auto-flow: dense;
  gap: var(--pg-gap);
  font-family: var(--pg-font);
}


.pg__cell {
  position: relative;
  min-width: 0;
}
.pg__cell[data-pg-span="wide"] { grid-column: span 2; }
.pg__cell[data-pg-span="tall"] { grid-row: span 2; }
.pg__cell[data-pg-span="big"] { grid-column: span 2; grid-row: span 2; }

.pg__item {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  min-width: 0;
  border-radius: var(--pg-radius);
  background: var(--pg-tile-bg);
  text-decoration: none;
  color: inherit;
}

.pg__item img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 1200ms var(--pg-ease);
}
.pg__item:hover img,
.pg__item:focus-visible img { transform: scale(1.06); }

.pg__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(to top,
    rgba(12, 9, 7, 0.88) 0%, rgba(12, 9, 7, 0.34) 42%, rgba(12, 9, 7, 0) 72%);
}

.pg__body {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 16px 18px;
  color: #fff;
}
.pg__credit {
  display: block;
  font-family: var(--pg-font-ui);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pg-accent);
  margin-bottom: 4px;
}
.pg__caption {
  display: block;
  font-size: 14.5px; line-height: 1.35;
}




.pg-actions {
  position: absolute; top: 10px; right: 10px;
  display: flex; gap: 6px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 220ms ease, transform 220ms var(--pg-ease);
  z-index: 2;
}
.pg-host:hover .pg-actions,
.pg-host:focus-within .pg-actions { opacity: 1; transform: translateY(0); }


@media (hover: none) {
  .pg-actions { opacity: 1; transform: none; }
}

.pg-act {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  padding: 0; border: 0;
  border-radius: var(--pg-radius);
  background: rgba(16, 12, 9, 0.62);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}
.pg-act:hover { background: var(--pg-accent); color: var(--pg-on-accent); }
.pg-act:active { transform: scale(0.94); }
.pg-act svg { display: block; width: 17px; height: 17px; }
.pg-act:focus-visible {
  outline: 2px solid var(--pg-accent);
  outline-offset: 2px;
}



.pg-lb {
  width: min(96vw, 1180px);
  max-width: none;
  max-height: 94vh;
  padding: 0;
  border: 0;
  border-radius: var(--pg-radius);
  background: var(--pg-ink);
  color: #fff;
  overflow: visible;
  font-family: var(--pg-font);
}

.pg-lb:focus,
.pg-lb:focus-visible { outline: none; }

.pg-lb::backdrop {
  background: var(--pg-scrim);
  backdrop-filter: blur(3px);
}

.pg-lb__inner {
  display: grid;
  grid-template-rows: 1fr auto;
  max-height: 94vh;
}

.pg-lb__stage {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  min-height: 0;
  background: #0D0F11;
}
.pg-lb__img {
  display: block;
  max-width: 100%;
  max-height: min(72vh, 780px);
  width: auto; height: auto;
  object-fit: contain;
}

.pg-lb__img[data-pg-loading="true"] { opacity: 0.35; }
.pg-lb__img { transition: opacity 200ms ease; }


.pg-lb__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: min(72vh, 780px);
  background: #000;
}
.pg-lb__video[hidden] { display: none; }
.pg-lb__video iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
}
.pg-lb__img[hidden] { display: none; }

.pg-lb__spinner {
  position: absolute; inset: 0;
  display: none; align-items: center; justify-content: center;
  pointer-events: none;
}
.pg-lb[data-pg-loading="true"] 
.pg-lb__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: min(72vh, 780px);
  background: #000;
}
.pg-lb__video[hidden] { display: none; }
.pg-lb__video iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
}
.pg-lb__img[hidden] { display: none; }

.pg-lb__spinner { display: flex; }
.pg-lb__spinner span {
  width: 26px; height: 26px;
  border: 2px solid rgba(255, 255, 255, 0.28);
  border-top-color: var(--pg-accent);
  border-radius: 50%;
  animation: pgSpin 720ms linear infinite;
}
@keyframes pgSpin { to { transform: rotate(360deg); } }

.pg-lb__foot {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px 28px;
  align-items: end;
  padding: 20px 24px;
}

.pg-lb__credit {
  display: block;
  font-family: var(--pg-font-ui);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pg-accent);
  margin-bottom: 6px;
}
.pg-lb__caption {
  margin: 0;
  font-size: 17px; line-height: 1.4;
}
.pg-lb__count {
  margin: 8px 0 0;
  font-size: 12.5px;
  color: var(--pg-muted);
  font-variant-numeric: tabular-nums;
}


.pg-lb__sharebox {
  display: flex; flex-direction: column;
  align-items: flex-end; gap: 8px;
}
.pg-lb__sharehead {
  font-family: var(--pg-font-ui);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pg-muted);
}
.pg-lb__share {
  display: flex; flex-wrap: wrap; gap: 8px;
  justify-content: flex-end;
}
.pg-lb__sharehint {
  margin: 0;
  max-width: 46ch;
  font-size: 12.5px; line-height: 1.45;
  color: var(--pg-muted);
  text-align: right;
}

.pg-share {
  display: inline-flex; align-items: center; gap: 7px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: var(--pg-radius);
  background: transparent;
  color: #fff;
  font-family: var(--pg-font-ui);
  font-size: 13px; font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.pg-share:hover {
  background: var(--pg-accent);
  border-color: var(--pg-accent);
  color: var(--pg-on-accent);
}
.pg-share[data-pg-done="true"] {
  background: var(--pg-accent);
  border-color: var(--pg-accent);
  color: var(--pg-on-accent);
}
.pg-share svg { display: block; width: 15px; height: 15px; }
.pg-share:focus-visible { outline: 2px solid var(--pg-accent); outline-offset: 2px; }



.pg-lb__close,
.pg-lb__nav {
  position: absolute;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0;
  background: rgba(16, 12, 9, 0.66);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: background 180ms ease, color 180ms ease;
  z-index: 3;
}
.pg-lb__close:hover,
.pg-lb__nav:hover { background: var(--pg-accent); color: var(--pg-on-accent); }
.pg-lb__close:focus-visible,
.pg-lb__nav:focus-visible { outline: 2px solid var(--pg-accent); outline-offset: 2px; }

.pg-lb__close { top: 12px; right: 12px; width: 40px; height: 40px; }
.pg-lb__close svg { width: 18px; height: 18px; }

.pg-lb__nav { top: 50%; transform: translateY(-50%); width: 44px; height: 64px; }
.pg-lb__nav--prev { left: 12px; }
.pg-lb__nav--next { right: 12px; }
.pg-lb__nav svg { width: 20px; height: 20px; }
.pg-lb__nav[hidden] { display: none; }



@media (max-width: 720px) {
  .pg { grid-template-columns: repeat(2, 1fr); }
  .pg-lb { width: 100vw; max-height: 100vh; border-radius: 0; }
  .pg-lb__inner { max-height: 100vh; }
  .pg-lb__img { max-height: 58vh; }
  .pg-lb__foot { grid-template-columns: 1fr; padding: 16px 18px 22px; }
  .pg-lb__sharebox { align-items: flex-start; }
  .pg-lb__share { justify-content: flex-start; }
  .pg-lb__sharehint { text-align: left; }
  .pg-lb__nav { width: 38px; height: 54px; }
  .pg-share { font-size: 12.5px; padding: 0 12px; }
}

@media (max-width: 420px) {
  .pg { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .pg__item img,
  .pg-actions,
  .pg-lb__img { transition: none; }
  .pg__item:hover img,
  .pg__item:focus-visible img { transform: none; }
  .pg-lb__spinner span { animation-duration: 2s; }
}
