/* [next]/internal/font/google/fraunces_5409b62b.module.css [app-client] (css) */
@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces Fallback;
  src: local(Times New Roman);
  ascent-override: 84.71%;
  descent-override: 22.09%;
  line-gap-override: 0.0%;
  size-adjust: 115.45%;
}

.fraunces_5409b62b-module__PjYBMq__className {
  font-family: Fraunces, Fraunces Fallback;
  font-style: normal;
}

.fraunces_5409b62b-module__PjYBMq__variable {
  --font-display: "Fraunces", "Fraunces Fallback";
}

/* [next]/internal/font/google/sora_f55b6e4a.module.css [app-client] (css) */
@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/3dbe685087e51055-s.1061.lg1~d_4b.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/3dbe685087e51055-s.1061.lg1~d_4b.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/3dbe685087e51055-s.1061.lg1~d_4b.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/3dbe685087e51055-s.1061.lg1~d_4b.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/3dbe685087e51055-s.1061.lg1~d_4b.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Sora;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Sora Fallback;
  src: local(Arial);
  ascent-override: 85.29%;
  descent-override: 25.5%;
  line-gap-override: 0.0%;
  size-adjust: 113.73%;
}

.sora_f55b6e4a-module__aenNRq__className {
  font-family: Sora, Sora Fallback;
  font-style: normal;
}

.sora_f55b6e4a-module__aenNRq__variable {
  --font-sans: "Sora", "Sora Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
:root {
  --ink-950: #14212b;
  --ink-900: #1d2c37;
  --ink-700: #435463;
  --ink-500: #6b7d8a;
  --mist-100: #f5f8fb;
  --mist-200: #e8eff5;
  --mist-300: #d4e1ec;
  --sky-400: #90b7d5;
  --sky-500: #6a96bc;
  --sand-100: #fbf4ea;
  --sand-200: #efdfc8;
  --hope-400: #d59a4d;
  --hope-500: #b9782d;
  --sage-400: #7d8f7d;
  --white: #fff;
  --shadow-soft: 0 16px 42px #14212b0d;
  --shadow-card: 0 20px 50px #14212b14;
  --radius-xl: 26px;
  --radius-lg: 20px;
  --radius-md: 16px;
  --radius-sm: 999px;
  --container: min(1180px, calc(100vw - 44px));
  --display-font: var(--font-display), Georgia, serif;
}

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

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ink-900);
  font-family: var(--font-sans), "Avenir Next", "Segoe UI", sans-serif;
  background: radial-gradient(circle at 0 0, #90b7d526, #0000 28%), radial-gradient(circle at 82% 14%, #d59a4d14, #0000 22%), linear-gradient(#edf3f8 0%, #f7fafc 32%, #fffdf9 100%);
  margin: 0;
  line-height: 1.6;
}

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

a {
  color: inherit;
  text-decoration: none;
}

p, blockquote {
  margin: 0;
}

.page-shell {
  position: relative;
  overflow-x: clip;
}

.page-shell:before, .page-shell:after {
  content: "";
  z-index: -1;
  filter: blur(22px);
  pointer-events: none;
  opacity: .5;
  border-radius: 999px;
  position: fixed;
}

.page-shell:before {
  background: #90b7d51f;
  width: 320px;
  height: 320px;
  top: 86px;
  right: -140px;
}

.page-shell:after {
  background: #d59a4d1a;
  width: 360px;
  height: 360px;
  top: 36%;
  left: -160px;
}

.container {
  width: var(--container);
  margin: 0 auto;
}

.site-header {
  z-index: 30;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #f8fafcb8;
  border-bottom: 1px solid #1d2c370f;
  padding: 14px 0;
  position: sticky;
  top: 0;
}

.site-header__inner, .site-nav, .header-actions, .button-row, .footer__meta {
  gap: 16px;
  display: flex;
}

.site-header__inner {
  justify-content: space-between;
  align-items: center;
}

.brand {
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  gap: 14px;
  min-width: 0;
  font-size: .78rem;
  font-weight: 700;
  display: flex;
}

.brand__mark {
  background: linear-gradient(160deg, #1d2c37fa, #14212bf5), url("/images/brand-collage.jpg") center / cover;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  box-shadow: inset 0 0 0 1px #ffffff1a;
}

.brand__text {
  min-width: 0;
}

.brand__text strong, .eyebrow, .kicker, .detail-label {
  display: block;
}

.brand__text span, .muted {
  color: var(--ink-500);
}

.site-nav {
  flex-wrap: wrap;
  align-items: center;
}

.site-nav a {
  color: var(--ink-700);
  padding: 9px 0;
  font-size: .92rem;
  transition: color .18s;
}

.site-nav a:hover, .site-nav a:focus-visible {
  color: var(--ink-950);
  outline: none;
}

.header-actions {
  align-items: center;
}

.menu-button {
  border-radius: var(--radius-sm);
  color: var(--ink-950);
  font: inherit;
  background: #1d2c370f;
  border: 0;
  padding: 11px 14px;
  display: none;
}

.button, .button-secondary, .button-ghost {
  border-radius: var(--radius-sm);
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 22px;
  font-size: .95rem;
  font-weight: 700;
  transition: transform .18s, box-shadow .18s, background .18s, color .18s, border-color .18s;
  display: inline-flex;
}

.button {
  color: var(--white);
  background: linear-gradient(135deg, var(--hope-400), var(--hope-500));
  box-shadow: 0 12px 24px #b9782d2e;
}

.button-secondary {
  color: var(--ink-950);
  background: #ffffffeb;
  border-color: #1d2c371a;
}

.button-ghost {
  color: var(--ink-700);
  background: none;
  border-color: #1d2c3714;
}

.button:hover, .button-secondary:hover, .button-ghost:hover, .button:focus-visible, .button-secondary:focus-visible, .button-ghost:focus-visible {
  outline: none;
  transform: translateY(-3px);
}

.button:hover, .button:focus-visible {
  background: linear-gradient(135deg, #e0a65a, #ae6c23);
  box-shadow: 0 18px 34px #b9782d42;
}

.button-secondary:hover, .button-secondary:focus-visible {
  background: #90b7d529;
  border-color: #6a96bc57;
  box-shadow: 0 16px 30px #14212b14;
}

.button-ghost:hover, .button-ghost:focus-visible {
  color: var(--ink-950);
  background: #1d2c3714;
  border-color: #1d2c3724;
}

.hero {
  padding: 0 0 28px;
}

.hero > .container {
  width: 100%;
}

.hero__frame, .surface, .footer-panel, .swatch, .type-sample, .module-card {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
  background: #ffffffd1;
  border: 1px solid #1d2c3712;
}

.hero__frame {
  background: linear-gradient(#ffffffe6, #fafcfde6), #ffffffd1;
  border-radius: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 56px 0 44px;
  position: relative;
  overflow: hidden;
}

.hero__frame:before {
  content: "";
  background: radial-gradient(circle at 0 0, #90b7d51f, #0000 36%), linear-gradient(90deg, #ffffffb3 0%, #ffffff61 100%);
  position: absolute;
  inset: 0;
}

.hero__content, .split-section, .current-grid, .care-callout, .principles-grid, .type-grid, .module-grid, .rules-grid, .support-strip, .support-strip--styleguide, .rail-list, .ministry-row {
  gap: 24px;
  display: grid;
}

.hero__content {
  z-index: 1;
  grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
  align-items: end;
  gap: 56px;
  width: min(1280px, 100vw - 72px);
  margin: 0 auto;
  position: relative;
}

.hero__copy, .hero__media, .split-section__body, .split-section__media {
  z-index: 1;
  position: relative;
}

.eyebrow, .kicker, .detail-label {
  color: var(--ink-700);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-size: .76rem;
  font-weight: 800;
}

.hero h1, .display, .section-title, .footer-title {
  color: var(--ink-950);
  font-family: var(--display-font);
  letter-spacing: -.02em;
  margin: 0;
  font-weight: 700;
  line-height: 1.04;
}

.hero h1 {
  text-wrap: balance;
  max-width: 11.2ch;
  font-size: clamp(3.4rem, 7vw, 6.4rem);
  line-height: 1.01;
}

.hero__lede, .section-copy, .footer-copy, .type-note {
  max-width: 60ch;
  color: var(--ink-700);
  font-size: 1.02rem;
}

.hero__lede {
  max-width: 51ch;
  margin-top: 22px;
}

.hero__actions, .button-row {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.hero__actions {
  margin-top: 30px;
}

.support-strip {
  border-top: 1px solid #1d2c3714;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
  padding-top: 22px;
}

.support-strip--styleguide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
}

.support-item {
  gap: 6px;
  display: grid;
}

.support-item strong, .rail-item strong, .principle strong, .rule-card strong, .swatch__meta strong, .type-sample strong, .module-card h3 {
  color: var(--ink-950);
}

.support-item p, .rail-item p, .principle p, .rule-card p, .module-card p {
  color: var(--ink-700);
  font-size: .94rem;
}

.hero__media {
  gap: 14px;
  display: grid;
}

.hero__portrait {
  border-radius: calc(var(--radius-xl) - 6px);
  min-height: 620px;
  box-shadow: var(--shadow-card);
  background: linear-gradient(#14212b14, #14212b5c), url("/images/pastors.jpg") center / cover;
}

.hero__caption, .surface, .footer-panel {
  padding: 24px;
}

.hero__caption {
  border-radius: var(--radius-lg);
  width: fit-content;
  max-width: 92%;
  box-shadow: var(--shadow-soft);
  background: #fffffff0;
  border: 1px solid #1d2c3714;
  margin-top: -70px;
  margin-left: auto;
}

.hero__caption p {
  color: var(--ink-700);
  font-size: .92rem;
}

.section {
  padding: 38px 0 12px;
}

.section--spacious {
  padding-top: 78px;
}

.section-head {
  gap: 18px;
  max-width: 72rem;
  margin-bottom: 30px;
  display: grid;
}

.section-title {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.02;
}

.section-copy {
  max-width: 52rem;
}

.split-section {
  grid-template-columns: minmax(280px, .88fr) minmax(0, 1fr);
  align-items: center;
  gap: 42px;
}

.split-section__media {
  border-radius: var(--radius-xl);
  min-height: 520px;
  box-shadow: var(--shadow-card);
  background: linear-gradient(#14212b14, #14212b52), url("/images/community.jpg") center / cover;
}

.split-section__body {
  gap: 0;
  display: grid;
}

.detail-list {
  gap: 18px;
  margin-top: 26px;
  display: grid;
}

.detail-item {
  align-items: start;
  gap: 14px;
  display: flex;
}

.detail-mark {
  background: linear-gradient(135deg, var(--hope-400), var(--hope-500));
  width: 28px;
  height: 28px;
  color: var(--white);
  border-radius: 50%;
  flex: none;
  place-items: center;
  margin-top: 3px;
  font-size: .84rem;
  font-weight: 700;
  display: grid;
}

.detail-item strong {
  color: var(--ink-950);
  margin-bottom: 2px;
  display: block;
}

.detail-item p {
  color: var(--ink-700);
}

.detail-aside {
  border-top: 1px solid #1d2c3714;
  margin-top: 28px;
  padding-top: 20px;
}

.detail-aside p {
  color: var(--ink-700);
}

.current-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .78fr);
  align-items: stretch;
  gap: 26px;
}

.feature-panel {
  border-radius: var(--radius-xl);
  min-height: 100%;
  color: var(--white);
  box-shadow: var(--shadow-card);
  background: linear-gradient(#14212bf0, #14212bd6), url("/images/brand-collage.jpg") center / cover;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 34px;
  display: flex;
}

.mini-label {
  border-radius: var(--radius-sm);
  width: fit-content;
  color: var(--ink-700);
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #90b7d524;
  border: 1px solid #1d2c3714;
  align-items: center;
  padding: 8px 14px;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.feature-panel .mini-label, .feature-panel p, .feature-panel .feature-meta {
  color: #ffffffd6;
}

.feature-panel .mini-label {
  color: #fffffff0;
  background: #ffffff24;
  border-color: #ffffff1f;
}

.feature-panel h3, .rail-item h3, .ministry-column h3, .principle h3, .module-card h3 {
  margin: 12px 0 0;
  font-size: clamp(1.36rem, 2vw, 1.82rem);
  line-height: 1.08;
}

.feature-panel h3 {
  max-width: 12ch;
  margin: 0;
}

.feature-panel p {
  max-width: 42ch;
  margin-top: 0;
}

.feature-meta {
  border-top: 1px solid #ffffff24;
  gap: 10px;
  margin-top: 6px;
  padding-top: 20px;
  font-size: .92rem;
  display: grid;
}

.rail-list {
  gap: 0;
}

.rail-item {
  border-top: 1px solid #1d2c3714;
  padding: 28px 0;
}

.rail-list .rail-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.rail-item p {
  margin-top: 10px;
}

.rail-item__action {
  color: var(--ink-950);
  align-items: center;
  margin-top: 14px;
  font-weight: 700;
  display: inline-flex;
}

.quote-inline {
  color: var(--ink-950);
  font-family: var(--display-font);
  margin-top: 18px;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  line-height: 1.08;
}

.ministry-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.ministry-column {
  border-top: 1px solid #1d2c371f;
  padding-top: 22px;
}

.ministry-column p {
  color: var(--ink-700);
  margin-top: 12px;
}

.care-callout {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
  background: linear-gradient(#efdfc861, #ffffffeb);
  border: 1px solid #1d2c3712;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
  align-items: center;
  gap: 30px;
  padding: 34px;
}

.care-callout__actions {
  justify-items: start;
  gap: 12px;
  display: grid;
}

.care-callout__note {
  color: var(--ink-700);
  font-size: .94rem;
}

.footer {
  padding: 84px 0 72px;
}

.footer-panel {
  gap: 28px;
  display: grid;
}

.footer__meta {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
}

.footer-title {
  font-size: 2.15rem;
}

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

.footer-links a {
  border-radius: var(--radius-sm);
  background: #f5f8fbe6;
  border: 1px solid #1d2c3714;
  padding: 10px 14px;
}

.support-item strong, .footer-title, .swatch__meta strong, .type-sample strong, .principle strong, .rule-card strong, .rail-item strong, .detail-item strong, .ministry-column strong {
  display: block;
}

.principles-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.principle {
  border-top: 1px solid #1d2c371f;
  padding-top: 22px;
}

.principle h3 {
  color: var(--ink-950);
  font-family: var(--display-font);
  letter-spacing: -.03em;
  margin: 0;
  font-size: 1.42rem;
  line-height: 1.1;
}

.principle p {
  margin-top: 12px;
}

.swatch-grid, .module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.swatch, .type-sample, .module-card {
  padding: 22px;
}

.swatch__chip {
  border-radius: 18px;
  height: 128px;
  margin-bottom: 18px;
}

.swatch__meta p {
  color: var(--ink-700);
}

.type-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}

.type-sample .display {
  font-size: clamp(2rem, 5vw, 3.3rem);
}

.type-sample .body-large {
  color: var(--ink-700);
  margin-top: 10px;
  font-size: 1.08rem;
}

.type-sample .detail-label {
  font-size: .84rem;
}

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

.rule-card {
  border-top: 1px solid #1d2c371f;
  padding-top: 18px;
}

.rule-card p {
  margin-top: 10px;
}

.module-card {
  gap: 14px;
  display: grid;
}

.module-card__preview {
  background: linear-gradient(#f5f8fbf0, #fffffff5);
  border: 1px solid #1d2c3714;
  border-radius: 18px;
  min-height: 180px;
  padding: 18px;
}

.module-card__preview--hero {
  grid-template-columns: 1.1fr .9fr;
  gap: 12px;
  display: grid;
}

.module-card__preview--hero span:first-child {
  background: #ffffffe0;
  border: 1px solid #1d2c3712;
  border-radius: 14px;
}

.module-card__preview--hero span:last-child {
  background: linear-gradient(#14212b14, #14212b3d), url("/images/staff-bridget.jpg") center / cover;
  border-radius: 14px;
}

.module-card__preview--rail {
  gap: 12px;
  display: grid;
}

.module-card__preview--rail span, .module-card__preview--editorial span {
  color: var(--ink-700);
  background: #ffffffe6;
  border: 1px solid #1d2c3714;
  border-radius: 14px;
  padding: 12px 14px;
  display: block;
}

.module-card__preview--editorial {
  grid-template-columns: 1.15fr .85fr;
  gap: 12px;
  display: grid;
}

.module-card__preview--editorial span:first-child {
  background: linear-gradient(#14212bd6, #14212bbd), url("/images/brand-collage.jpg") center / cover;
  border-color: #0000;
}

.reveal {
  opacity: 0;
  animation: .62s forwards rise-in;
  transform: translateY(18px);
}

.delay-1 {
  animation-delay: .12s;
}

.delay-2 {
  animation-delay: .22s;
}

.delay-3 {
  animation-delay: .32s;
}

@keyframes rise-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1080px) {
  .hero__content, .split-section, .current-grid, .care-callout, .type-grid, .module-grid, .swatch-grid, .rules-grid {
    grid-template-columns: 1fr;
  }

  .principles-grid, .ministry-row, .support-strip, .support-strip--styleguide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero h1 {
    max-width: 11ch;
  }
}

@media (max-width: 820px) {
  .site-nav {
    border-top: 1px solid #1d2c3714;
    width: 100%;
    margin-top: 12px;
    padding-top: 14px;
    display: none;
  }

  .site-header.is-open .site-nav {
    display: flex;
  }

  .site-header__inner {
    flex-wrap: wrap;
    align-items: start;
  }

  .header-actions .button-secondary {
    display: none;
  }

  .menu-button {
    display: inline-flex;
  }

  .hero__portrait {
    min-height: 520px;
  }

  .hero__caption {
    margin-top: -34px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 0;
  }

  .hero__frame, .surface, .footer-panel, .swatch, .type-sample, .module-card, .feature-panel, .care-callout {
    padding: 20px;
  }

  .hero__frame {
    padding: 38px 0 28px;
  }

  .section {
    padding-top: 28px;
  }

  .section--spacious {
    padding-top: 56px;
  }

  .hero h1 {
    max-width: none;
    font-size: clamp(2.8rem, 14vw, 4.6rem);
  }

  .hero__portrait, .split-section__media {
    min-height: 340px;
  }

  .hero__caption {
    max-width: 100%;
    margin-top: 0;
    margin-left: 0;
  }

  .principles-grid, .ministry-row, .support-strip, .support-strip--styleguide {
    grid-template-columns: 1fr;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__058l8q8._.css.map*/