/* Seeking Him Ministries public landing page */

.sl-landing{
  --sl-cream: #faf6ef;
  --sl-cream-deep: #f3ece0;
  --sl-mist: #eef3f8;
  --sl-sage: #e8efe6;
  --sl-navy: #1a2d47;
  --sl-navy-deep: #0f1f33;
  --sl-blue: #2d5a87;
  --sl-blue-soft: #4a7c9e;
  --sl-gold: #c9a227;
  --sl-gold-warm: #d4a84b;
  --sl-ink: #2c2419;
  --sl-muted: #5c5348;
  --sl-heading-color: var(--sl-ink);
  --sl-body-color: var(--sl-muted);
  --sl-container: 100%;
  --sl-content-gutter: clamp(1.15rem, 5vw, 1.5rem);
  --sl-text-base: clamp(1.0625rem, 0.35vw + 1rem, 1.375rem);
  --sl-text-sm: clamp(1rem, 0.3vw + 0.92rem, 1.25rem);
  --sl-text-xs: clamp(0.9375rem, 0.25vw + 0.85rem, 1.1rem);
  font-size: var(--sl-text-base);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1.5rem;
  overflow-x: hidden;
  background: var(--sl-cream);
  color: var(--sl-body-color);
}

.sl-container{
  width: var(--sl-container);
  max-width: var(--sl-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sl-content-gutter);
  padding-right: var(--sl-content-gutter);
  box-sizing: border-box;
}

.sl-band{
  position: relative;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.sl-band--hero{
  --sl-hero-wave-h: clamp(3rem, 4.8vw, 4rem);
  --sl-hero-bottom-clip: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--sl-hero-wave-h) * 0.1),
    83.3% calc(100% - var(--sl-hero-wave-h) * 0.225),
    66.7% calc(100% - var(--sl-hero-wave-h) * 0.075),
    50% calc(100% - var(--sl-hero-wave-h) * 0.475),
    36.1% calc(100% - var(--sl-hero-wave-h) * 0.775),
    19.4% calc(100% - var(--sl-hero-wave-h) * 0.975),
    0 calc(100% - var(--sl-hero-wave-h) * 0.4)
  );
  padding-top: clamp(2.8rem, 4.8vw, 4rem);
  padding-bottom: calc(clamp(2rem, 3.2vw, 2.8rem) + var(--sl-hero-wave-h));
  background: linear-gradient(145deg, var(--sl-navy-deep) 0%, var(--sl-navy) 38%, var(--sl-blue) 100%);
  color: #fff;
}

.sl-hero--has-visual.sl-band--hero{
  background: linear-gradient(105deg, var(--sl-navy-deep) 0%, var(--sl-navy-deep) 42%, var(--sl-navy) 48%, var(--sl-navy) 100%);
}

.sl-band--cream{ background: var(--sl-cream); }
.sl-band--mist{ background: linear-gradient(180deg, var(--sl-mist) 0%, #f5f8fb 100%); }
.sl-band--sage{ background: linear-gradient(180deg, var(--sl-sage) 0%, #f0f4ee 100%); }

.sl-band--cta{
  background: linear-gradient(145deg, var(--sl-navy-deep) 0%, var(--sl-navy) 45%, #1e3a5f 100%);
  color: #fff;
  padding: clamp(3.5rem, 6.5vw, 5.75rem) 0;
}

/* Hero */
.sl-hero-atmosphere{
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.sl-hero-glow{
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  opacity: .35;
}

.sl-hero-glow--left{
  width: 55%;
  height: 70%;
  top: -10%;
  left: -8%;
  background: radial-gradient(circle, rgba(255,255,255,.22), transparent 70%);
}

.sl-hero-glow--right{
  width: 45%;
  height: 55%;
  top: 5%;
  right: -5%;
  background: radial-gradient(circle, rgba(201,162,39,.18), transparent 68%);
}

.sl-hero-ring{
  position: absolute;
  width: min(22.4rem, 44vw);
  height: min(22.4rem, 44vw);
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 0 12px rgba(255,255,255,.03),
    0 0 0 24px rgba(255,255,255,.02),
    inset 0 0 60px rgba(255,255,255,.04);
  opacity: .7;
}

.sl-hero-layout{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(11.2rem, 14.4rem);
  gap: 1.6rem 2.4rem;
  align-items: start;
}

.sl-hero-layout--with-visual{
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 1.6rem;
}

.sl-hero-brand{
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #fff;
  text-decoration: none;
  margin-bottom: .25rem;
  width: fit-content;
}

.sl-hero-brand:hover{
  color: #fff;
  opacity: .92;
}

.sl-hero-brand-mark{
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: .36rem;
}

.sl-hero-brand-name{
  font-size: clamp(1.08rem, 1.6vw, 1.32rem);
  font-weight: 700;
  letter-spacing: -.01em;
}

.sl-hero-main{
  min-width: 0;
}

.sl-hero-layout--with-visual .sl-hero-main{
  position: relative;
  z-index: 3;
  max-width: calc(var(--sl-hero-text-reach) - clamp(1.25rem, 4vw, 5rem));
}

.sl-hero-foot{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .85rem;
  margin-top: .5rem;
}

.sl-hero--has-visual .sl-hero-foot{
  gap: .88rem 1.08rem;
  margin-top: .4rem;
}

.sl-hero-actions-row{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .65rem;
  width: 100%;
}

.sl-hero-cta-group .btn{
  width: 100%;
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.25;
}

.sl-hero-member-hint{
  width: 100%;
  margin-top: .15rem;
  color: rgba(255, 255, 255, .78);
  line-height: 1.55;
  font-size: var(--sl-text-sm);
}

.sl-hero-member-hint a{
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.sl-hero-member-hint a:hover{
  color: #fff;
  opacity: .92;
}

.sl-hero-trust-badge--pill{
  display: flex;
  align-items: center;
  gap: .52rem;
  border-radius: 999px;
  padding: .56rem .92rem;
  max-width: min(17.6rem, 100%);
  margin-top: 0;
  background: rgba(15, 31, 51, .46);
  border: 1px solid rgba(255,255,255,.12);
}

.sl-hero-trust-badge--pill .sl-hero-trust-icon{
  margin-bottom: 0;
  flex-shrink: 0;
  width: 1.48rem;
  height: 1.48rem;
  font-size: .84rem;
}

.sl-hero-trust-badge--pill .sl-hero-trust-text{
  font-size: .96rem;
  line-height: 1.45;
}

.sl-hero--has-visual{
  --sl-hero-photo-w: 58vw;
  --sl-hero-text-reach: calc((100vw - var(--sl-hero-photo-w)) + (var(--sl-hero-photo-w) * 0.52));
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.sl-hero--has-visual .sl-hero-glow--right{
  opacity: 0;
}

.sl-hero--has-visual .sl-hero-atmosphere{
  z-index: 0;
}

.sl-hero-media{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: var(--sl-hero-photo-w, 58vw);
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.sl-hero-media img{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  border-radius: 0;
  box-shadow: none;
}

.sl-hero-media-fade{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    var(--sl-navy-deep) 0%,
    rgba(15, 31, 51, .9) 8%,
    rgba(26, 45, 71, .68) 18%,
    rgba(26, 45, 71, .42) 30%,
    rgba(26, 45, 71, .22) 42%,
    rgba(26, 45, 71, .1) 54%,
    rgba(26, 45, 71, .03) 66%,
    rgba(26, 45, 71, 0) 78%
  );
}

.sl-hero-copy{
  max-width: none;
}

.sl-hero--has-visual .sl-hero-copy{
  max-width: 100%;
  text-shadow: 0 1px 18px rgba(15, 31, 51, .28);
}

.sl-hero--has-visual .sl-hero-foot{
  max-width: calc(var(--sl-hero-text-reach) - clamp(1rem, 3vw, 3.5rem));
}

.sl-title{
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  font-weight: 800;
  line-height: 1.06;
  margin-bottom: .92rem;
  letter-spacing: -.02em;
}

.sl-hero--has-visual .sl-title{
  font-size: clamp(2.48rem, 6vw, 4.68rem);
  margin-bottom: 1.08rem;
}

.sl-title-accent{
  display: block;
  margin-top: .12rem;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 600;
  color: var(--sl-gold-warm);
  font-size: clamp(2.12rem, 4.64vw, 3.52rem);
  line-height: 1.05;
}

.sl-hero--has-visual .sl-title-accent{
  font-size: clamp(2.6rem, 6.24vw, 4.8rem);
}

.sl-title-accent::after{
  content: ".";
}

.sl-lead{
  font-size: clamp(1.22rem, 2vw, 1.48rem);
  line-height: 1.65;
  opacity: .94;
  margin-bottom: .8rem;
  max-width: 64rem;
}

.sl-hero--has-visual .sl-lead{
  font-size: clamp(1.34rem, 2.2vw, 1.72rem);
  line-height: 1.65;
  margin-bottom: 1rem;
  max-width: 100%;
}

.sl-hero-verse{
  font-style: italic;
  line-height: 1.5;
  max-width: 56rem;
  opacity: .85;
  font-size: var(--sl-text-sm);
  margin-bottom: 1.2rem;
}

.sl-hero--has-visual .sl-hero-verse{
  font-size: clamp(1.12rem, 1.68vw, 1.24rem);
  margin-bottom: 1.48rem;
  max-width: 100%;
}

.sl-hero-trust-badge{
  align-self: center;
  background: rgba(15, 31, 51, .55);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .8rem;
  padding: .92rem 1rem;
  backdrop-filter: blur(6px);
  max-width: 14.4rem;
}

.sl-hero-trust-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: rgba(201,162,39,.2);
  color: var(--sl-gold-warm);
  font-size: 1rem;
  margin-bottom: .44rem;
}

.sl-hero-trust-text{
  font-size: var(--sl-text-sm);
  line-height: 1.55;
  opacity: .92;
  font-style: italic;
}

.sl-hero-path{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .45rem;
  flex: 1 1 12rem;
  min-width: 0;
}

.sl-hero-path-label{
  font-size: var(--sl-text-xs);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
  opacity: .82;
}

.sl-hero-learn{
  font-size: var(--sl-text-sm);
  font-weight: 600;
  text-decoration: none;
  padding-left: 0;
  padding-right: 0;
  color: rgba(255,255,255,.65) !important;
  flex: 1 1 100%;
}

.sl-hero-learn:hover{
  color: #fff !important;
  text-decoration: underline;
}

.sl-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 1.5rem;
  margin-top: .25rem;
  align-items: flex-end;
}

.sl-landing .btn-lg{
  font-size: 1.375rem;
  padding-top: .75rem;
  padding-bottom: .75rem;
}

.sl-band--hero .btn-lg{
  font-size: 1.1rem;
  padding-top: .6rem;
  padding-bottom: .6rem;
}

.sl-hero--has-visual .btn-lg{
  font-size: 1.16rem;
  padding: .68rem 1.24rem;
}

.sl-landing .btn-sm{
  font-size: 1.25rem;
}

.sl-btn-primary{
  background: linear-gradient(135deg, var(--sl-gold-warm), var(--sl-gold));
  border: none;
  font-weight: 700;
  color: var(--sl-navy-deep);
  border-radius: 999px;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
}

.sl-band--hero .sl-btn-primary,
.sl-band--hero .sl-btn-light{
  padding-left: 1.08rem;
  padding-right: 1.08rem;
}

.sl-btn-primary:hover,
.sl-btn-primary:focus{
  filter: brightness(1.05);
  color: var(--sl-navy-deep);
  background: linear-gradient(135deg, #e0b84a, var(--sl-gold));
}

.sl-btn-light{
  background: #fff;
  border: none;
  font-weight: 700;
  color: var(--sl-navy);
  border-radius: 999px;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
}

.sl-btn-light:hover,
.sl-btn-light:focus{
  background: #f8f9fb;
  color: var(--sl-navy-deep);
}

/* Section waves */
.sl-wave{
  position: absolute;
  left: 0;
  right: 0;
  height: var(--sl-hero-wave-h, 3.5rem);
  pointer-events: none;
}

.sl-wave--down{
  bottom: 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center bottom;
}

.sl-wave--hero-to-cream{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23faf6ef' d='M0 48C280 78 520 18 720 42s420 28 720 8V80H0z'/%3E%3C/svg%3E");
}

.sl-wave--hero-to-mist{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23eef3f8' d='M0 48C280 78 520 18 720 42s420 28 720 8V80H0z'/%3E%3C/svg%3E");
}

.sl-hero--has-visual .sl-wave{
  z-index: 4;
  height: calc(var(--sl-hero-wave-h) + 1px);
  margin-bottom: -1px;
}

.sl-wave--cream-to-mist{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath fill='%23eef3f8' d='M0 20C360 48 720 4 1080 24s360 28 360 28V56H0z'/%3E%3C/svg%3E");
}

.sl-wave--mist-to-cream{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath fill='%23faf6ef' d='M0 36C320 8 640 52 960 24s480-8 480-8V56H0z'/%3E%3C/svg%3E");
}

.sl-wave--cream-to-sage{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath fill='%23e8efe6' d='M0 28C280 52 560 12 840 32s600 16 600 16V56H0z'/%3E%3C/svg%3E");
}

/* Sections */
.sl-section-title{
  font-size: clamp(1.75rem, 3.2vw, 2.65rem);
  font-weight: 800;
  margin-bottom: .65rem;
  color: var(--sl-heading-color);
  letter-spacing: -.02em;
}

.sl-section-title--center{
  text-align: center;
}

.sl-section-lead{
  color: var(--sl-body-color);
  line-height: 1.65;
  margin-bottom: 1.5rem;
  max-width: 64rem;
  font-size: var(--sl-text-base);
}

.sl-section-lead--center{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  max-width: 68rem;
}

.sl-pilot-note{
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.62;
  opacity: .85;
  font-size: var(--sl-text-sm);
}

/* Directory */
.sl-directory{
  scroll-margin-top: 5.5rem;
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

.sl-directory--hub{
  padding-top: clamp(2.75rem, 5vw, 3.75rem);
  padding-bottom: clamp(2.75rem, 5vw, 3.75rem);
}

.sl-directory--featured{
  background: linear-gradient(180deg, #f3f0ea 0%, var(--sl-cream) 100%);
}

.sl-directory--featured .sl-container{
  display: flex;
  justify-content: center;
  align-items: center;
}

.sl-directory--featured .sl-directory-feature{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 38rem);
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(2rem, 4vw, 2.75rem) clamp(1.75rem, 4vw, 2.5rem);
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(26, 45, 71, .1);
  border-radius: 1.1rem;
  box-shadow: 0 12px 32px rgba(44, 36, 25, .06);
  text-align: center;
}

.sl-directory-feature{
  text-align: center;
}

.sl-directory--featured .sl-directory-intro--centered{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-directory-intro--centered{
  text-align: center;
  width: 100%;
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-directory--featured .sl-directory-title,
.sl-directory--featured .sl-directory-lead-line{
  text-align: center;
  width: 100%;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-directory--featured .sl-directory-title{
  margin-bottom: 1rem;
}

.sl-directory--featured .sl-directory-hub-link-wrap{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.sl-directory--featured .sl-directory-hub-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sl-directory-title{
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.8vw, 2.85rem);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--sl-navy);
  margin-bottom: 1rem;
}

.sl-directory-lead{
  margin-left: auto;
  margin-right: auto;
  max-width: 34rem;
  font-size: clamp(1.18rem, 1.1vw + 1rem, 1.42rem);
  line-height: 1.68;
  margin-bottom: 0;
}

.sl-directory-lead-line{
  margin-left: auto;
  margin-right: auto;
  max-width: 28rem;
  color: var(--sl-body-color);
  font-size: clamp(1.18rem, 1.1vw + 1rem, 1.42rem);
  line-height: 1.68;
  text-align: center;
}

.sl-directory-lead-line--secondary{
  margin-top: .35rem;
  opacity: .92;
}

.sl-directory-hub-link-wrap{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.sl-directory-hub-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: clamp(1.05rem, .45vw + .95rem, 1.2rem);
  padding: .85rem 1.85rem;
  min-width: min(100%, 16rem);
  box-shadow: 0 10px 24px rgba(26, 45, 71, .14);
}

.sl-directory-layout{
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
  gap: 2rem 3.5rem;
  align-items: start;
}

.sl-directory-panel{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.sl-directory-search-bar{
  display: flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid rgba(26, 45, 71, .12);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(44, 36, 25, .06);
}

.sl-directory-search{
  border: none;
  border-radius: 0;
  padding-left: 1.15rem;
  padding-right: 1rem;
  min-height: 3rem;
  box-shadow: none !important;
  flex: 1 1 auto;
}

.sl-directory-search:focus{
  box-shadow: none !important;
}

.sl-directory-search-btn{
  display: inline-flex;
  align-items: center;
  padding: 0 1.35rem;
  font-weight: 700;
  font-size: clamp(1rem, 0.45vw + 0.85rem, 1.2rem);
  color: #fff;
  background: var(--sl-navy);
  white-space: nowrap;
}

.sl-directory-no-matches{
  color: var(--sl-body-color);
  line-height: 1.55;
  font-size: var(--sl-text-sm);
  padding: .85rem 1rem;
  border-radius: .75rem;
  background: rgba(255,252,245,.9);
  border: 1px dashed rgba(0,0,0,.1);
  max-width: 24rem;
}

.sl-directory-location{
  margin: 0;
  color: var(--sl-body-color);
  font-size: var(--sl-text-sm);
  line-height: 1.4;
  font-weight: 500;
}

.sl-directory-grid{
  margin-top: .25rem;
}

.sl-directory-card{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(26, 45, 71, .08);
  border-radius: 1rem;
  padding: 1.2rem 1.15rem 1.1rem;
  box-shadow: 0 4px 14px rgba(44, 36, 25, .04);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.sl-directory-card:hover{
  transform: translateY(-2px);
  border-color: rgba(26, 45, 71, .14);
  box-shadow: 0 8px 22px rgba(44, 36, 25, .07);
}

.sl-directory-card-head{
  display: flex;
  gap: .85rem;
  align-items: flex-start;
}

.sl-directory-logo{
  flex: 0 0 3.25rem;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: .75rem;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}

.sl-directory-logo--fallback{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.45rem;
  color: var(--sl-navy);
  background: linear-gradient(135deg, #eef4f9, #dfeaf3);
}

.sl-directory-card-copy{
  min-width: 0;
  flex: 1 1 auto;
}

.sl-directory-name{
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 .25rem;
  color: var(--sl-heading-color);
  line-height: 1.25;
}

.sl-directory-tagline{
  margin: 0;
  color: var(--sl-body-color);
  font-size: var(--sl-text-sm);
  line-height: 1.45;
}

.sl-directory-open-btn{
  align-self: flex-start;
  font-weight: 700;
  border-radius: 999px;
  padding-left: 1rem;
  padding-right: 1rem;
  background: var(--sl-navy);
  border-color: var(--sl-navy);
}

.sl-directory-open-btn:hover{
  background: var(--sl-blue);
  border-color: var(--sl-blue);
}

.sl-directory-empty-callout{
  background: #fff;
  border: 1px solid rgba(26, 45, 71, .1);
  border-radius: 1rem;
  padding: 1.5rem 1.35rem;
  box-shadow: 0 4px 16px rgba(44, 36, 25, .05);
}

.sl-directory-empty-title{
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--sl-heading-color);
  margin: 0 0 .55rem;
  line-height: 1.3;
}

.sl-directory-empty-text{
  color: var(--sl-body-color);
  line-height: 1.6;
  font-size: var(--sl-text-base);
}

.sl-directory-hub-btn:hover,
.sl-directory-hub-btn:focus{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(26, 45, 71, .18);
}

.sl-directory-layout{
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
  gap: 2rem 3.5rem;
  align-items: start;
}

.sl-directory-illustration{
  margin-top: .5rem;
  text-align: center;
}

.sl-directory-illustration-caption{
  margin-top: .75rem;
  font-size: var(--sl-text-sm);
  color: var(--sl-body-color);
  line-height: 1.45;
}

.sl-church-scene{
  position: relative;
  height: 7rem;
  max-width: 14rem;
  margin: 0 auto;
}

.sl-church-scene-cloud{
  position: absolute;
  width: 2.5rem;
  height: 1rem;
  background: rgba(45, 90, 135, .12);
  border-radius: 999px;
  top: .5rem;
}

.sl-church-scene-cloud--left{ left: 1rem; }
.sl-church-scene-cloud--right{ right: 1.5rem; width: 3rem; }

.sl-church-scene-building{
  position: absolute;
  left: 50%;
  bottom: 1.2rem;
  transform: translateX(-50%);
  width: 5rem;
}

.sl-church-scene-steeple{
  width: .55rem;
  height: 1.6rem;
  margin: 0 auto;
  background: var(--sl-navy);
  border-radius: .15rem .15rem 0 0;
}

.sl-church-scene-roof{
  width: 0;
  height: 0;
  border-left: 2.5rem solid transparent;
  border-right: 2.5rem solid transparent;
  border-bottom: 1.4rem solid var(--sl-blue);
  margin: 0 auto;
}

.sl-church-scene-body{
  height: 2.2rem;
  background: #fff;
  border: 2px solid var(--sl-navy);
  border-top: none;
  border-radius: 0 0 .25rem .25rem;
}

.sl-church-scene-door{
  width: 1rem;
  height: 1.2rem;
  margin: -.15rem auto 0;
  background: var(--sl-gold);
  border-radius: .15rem .15rem 0 0;
}

.sl-church-scene-tree{
  position: absolute;
  bottom: 1rem;
  width: 1.5rem;
  height: 2rem;
  background: linear-gradient(180deg, #5a8f6a 55%, #4a7358 55%);
  border-radius: 50% 50% 20% 20%;
}

.sl-church-scene-tree--left{ left: 1.5rem; }
.sl-church-scene-tree--right{ right: 1.5rem; height: 2.4rem; }

/* Prayer life — home and on the go */
.sl-prayer-life.sl-band--mist{
  background: #fafafa;
}

.sl-prayer-life{
  padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

.sl-prayer-life-intro{
  text-align: center;
  max-width: 58rem;
  margin: 0 auto clamp(2.5rem, 5vw, 3.5rem);
}

.sl-prayer-life .sl-section-title{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--sl-navy);
  margin-bottom: .85rem;
}

.sl-prayer-life .sl-section-lead{
  margin-left: auto;
  margin-right: auto;
  max-width: 52rem;
  line-height: 1.65;
}

.sl-prayer-panels{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.25rem);
  margin-bottom: clamp(2.25rem, 4.5vw, 3rem);
}

.sl-prayer-card{
  background: #fff;
  border: 1px solid rgba(26, 45, 71, .12);
  border-radius: .85rem;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(26, 45, 71, .06);
  min-width: 0;
}

.sl-prayer-panel{
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.sl-prayer-visual{
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: #f7efe4;
}

.sl-prayer-visual-placeholder{
  position: absolute;
  inset: 0;
}

.sl-prayer-visual--has-photo{
  background: #ebe4da;
}

.sl-prayer-visual-photo{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sl-prayer-visual--quiet{
  background: linear-gradient(145deg, #f9ead8 0%, #fff8f0 42%, #f3e4d0 100%);
}

.sl-prayer-visual-light{
  position: absolute;
  top: -8%;
  right: -5%;
  width: 55%;
  height: 70%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 248, 235, .95) 0%, rgba(255, 248, 235, 0) 68%);
  pointer-events: none;
}

.sl-prayer-visual-surface{
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(180deg, rgba(196, 168, 132, .35), rgba(168, 138, 102, .55));
}

.sl-prayer-visual-book{
  position: absolute;
  left: 14%;
  bottom: 22%;
  width: 22%;
  height: 16%;
  background: linear-gradient(180deg, #fffdf8, #e8dcc8);
  border: 1px solid rgba(44, 36, 25, .12);
  border-radius: .15rem .35rem .35rem .15rem;
  box-shadow: 0 4px 12px rgba(44, 36, 25, .12);
  transform: rotate(-4deg);
}

.sl-prayer-visual-book::before{
  content: "";
  position: absolute;
  left: 48%;
  top: 8%;
  bottom: 8%;
  width: 1px;
  background: rgba(44, 36, 25, .1);
}

.sl-prayer-visual-laptop{
  position: absolute;
  right: 12%;
  bottom: 20%;
  width: 52%;
  padding: .35rem .35rem .2rem;
  background: #2a3140;
  border-radius: .45rem .45rem 0 0;
  box-shadow: 0 8px 20px rgba(26, 45, 71, .18);
}

.sl-prayer-visual-laptop::after{
  content: "";
  display: block;
  height: .35rem;
  margin: .15rem 18% 0;
  background: linear-gradient(180deg, #3a4252, #2a3140);
  border-radius: 0 0 .25rem .25rem;
}

.sl-prayer-visual--go{
  background: linear-gradient(165deg, #e8dcc8 0%, #f5ebe0 38%, #d9e4d0 100%);
}

.sl-prayer-visual-sky{
  position: absolute;
  inset: 0 0 42%;
  background: linear-gradient(180deg, #d4e4ef 0%, #eef4f8 100%);
}

.sl-prayer-visual-path{
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, #c8d4bc, #a8b898);
}

.sl-prayer-visual-hand{
  position: absolute;
  left: 28%;
  bottom: 16%;
  width: 34%;
  height: 28%;
  background: linear-gradient(145deg, #e8c9a8, #d4a882);
  border-radius: 40% 55% 45% 50%;
  box-shadow: 0 6px 16px rgba(44, 36, 25, .12);
}

.sl-prayer-visual-phone{
  position: absolute;
  left: 38%;
  bottom: 24%;
  width: 24%;
  padding: .3rem .22rem .35rem;
  background: #1a1f28;
  border-radius: .75rem;
  box-shadow: 0 10px 24px rgba(26, 45, 71, .2);
}

.sl-prayer-visual-phone::before{
  content: "";
  display: block;
  width: 38%;
  height: .18rem;
  margin: 0 auto .22rem;
  background: #0f1218;
  border-radius: 999px;
}

.sl-prayer-visual-screen{
  background: linear-gradient(180deg, #fff 0%, #fffdf9 100%);
  border-radius: .2rem;
  padding: .45rem .4rem;
  min-height: 3.5rem;
}

.sl-prayer-visual-screen--phone{
  min-height: 4.25rem;
}

.sl-prayer-visual-screen-bar{
  height: .35rem;
  width: 42%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sl-blue), var(--sl-blue-soft));
  margin-bottom: .35rem;
}

.sl-prayer-visual-screen-line{
  height: .22rem;
  border-radius: 999px;
  background: rgba(44, 36, 25, .1);
  margin-bottom: .28rem;
}

.sl-prayer-visual-screen-line--wide{
  width: 78%;
}

.sl-prayer-panel-copy{
  padding: clamp(1.15rem, 2.2vw, 1.45rem) clamp(1.2rem, 2.4vw, 1.55rem) clamp(1.35rem, 2.4vw, 1.65rem);
}

.sl-prayer-card-head{
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: .75rem;
}

.sl-prayer-card-icon{
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--sl-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.15rem 1.15rem;
}

.sl-prayer-card-icon--home{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-5v-6H10v6H5a1 1 0 0 1-1-1v-9.5Z'/%3E%3C/svg%3E");
}

.sl-prayer-card-icon--go{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2'/%3E%3Cpath d='M11 5h2'/%3E%3C/svg%3E");
}

.sl-prayer-panel-title{
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.12rem, .9vw + .95rem, 1.35rem);
  font-weight: 700;
  color: var(--sl-navy);
  line-height: 1.3;
}

.sl-prayer-panel-text{
  color: var(--sl-body-color);
  line-height: 1.68;
  font-size: var(--sl-text-sm);
}

.sl-prayer-life-closing{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.85rem, 2vw, 1.35rem);
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-prayer-life-closing-line{
  flex: 1 1 2.5rem;
  max-width: 4.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--sl-gold-warm), transparent);
  opacity: .85;
}

.sl-prayer-life-closing-text{
  flex: 0 1 auto;
  text-align: center;
  color: var(--sl-navy);
  line-height: 1.6;
  font-size: clamp(1.0625rem, 0.45vw + 0.95rem, 1.2125rem);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 600;
}

/* How It Works */
.sl-section--steps{
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}

.sl-steps{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}

.sl-step{
  display: flex;
  flex-direction: column;
  gap: .75rem;
  align-items: flex-start;
}

.sl-step-num{
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--sl-blue), var(--sl-blue-soft));
  color: #fff;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  box-shadow: 0 2px 8px rgba(45, 90, 135, .2);
}

.sl-step-title{
  font-size: 1.45rem;
  font-weight: 800;
  margin-bottom: .25rem;
  color: var(--sl-heading-color);
}

.sl-step-text{
  margin: 0;
  color: var(--sl-body-color);
  line-height: 1.62;
  font-size: var(--sl-text-base);
}

.sl-clarify{
  max-width: 68rem;
  line-height: 1.62;
  padding-top: 1rem;
  border-top: 1px solid rgba(44, 36, 25, .08);
  color: var(--sl-body-color);
  font-size: var(--sl-text-sm);
}

/* Benefits strip */
.sl-section--benefits{
  padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

.sl-benefit-strip{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 1.75rem 1.5rem;
}

.sl-benefit-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .75rem;
  padding: .5rem .35rem;
}

.sl-benefit-icon{
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  border: 2px solid rgba(26, 45, 71, .14);
  position: relative;
  background: #fff;
}

.sl-benefit-icon::before,
.sl-benefit-icon::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.sl-benefit-icon--safe::before{
  width: 1rem;
  height: .9rem;
  background: var(--sl-navy);
  clip-path: polygon(50% 0, 100% 30%, 85% 100%, 15% 100%, 0 30%);
}

.sl-benefit-icon--shield::before{
  width: 1rem;
  height: 1.15rem;
  border: 2px solid var(--sl-navy);
  border-radius: .2rem .2rem 50% 50%;
}

.sl-benefit-icon--shield::after{
  width: .35rem;
  height: .55rem;
  border: solid var(--sl-gold);
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg);
  background: transparent;
}

.sl-benefit-icon--encourage::before{
  width: 1.1rem;
  height: .75rem;
  border: 2px solid var(--sl-navy);
  border-radius: .5rem;
}

.sl-benefit-icon--encourage::after{
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-top-color: var(--sl-navy);
  top: 68%;
  transform: translate(-50%, 0);
}

.sl-benefit-icon--prayer::before{
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--sl-navy);
  border-radius: 50% 50% 40% 40%;
}

.sl-benefit-icon--pastor::before{
  width: .55rem;
  height: .55rem;
  background: var(--sl-navy);
  border-radius: 50%;
  top: 38%;
}

.sl-benefit-icon--pastor::after{
  width: 1.1rem;
  height: .55rem;
  background: var(--sl-navy);
  border-radius: .5rem .5rem 0 0;
  top: 62%;
}

.sl-benefit-icon--info::before{
  width: 1rem;
  height: .75rem;
  border: 2px solid var(--sl-navy);
  border-radius: .1rem;
}

.sl-benefit-icon--info::after{
  width: .55rem;
  height: 2px;
  background: var(--sl-navy);
  box-shadow: 0 -4px 0 var(--sl-navy), 0 4px 0 var(--sl-navy);
}

.sl-benefit-icon--private::before{
  width: .65rem;
  height: .65rem;
  border: 2px solid var(--sl-navy);
  border-radius: 50%;
  top: 42%;
  left: 38%;
  transform: translate(-50%, -50%);
}

.sl-benefit-icon--private::after{
  width: .45rem;
  height: .45rem;
  border: 2px solid var(--sl-navy);
  border-radius: 50%;
  top: 58%;
  left: 62%;
  transform: translate(-50%, -50%);
}

.sl-benefit-label{
  font-size: var(--sl-text-sm);
  font-weight: 700;
  color: var(--sl-heading-color);
  line-height: 1.45;
  max-width: 11.5rem;
}

/* Trust section */
.sl-section--trust{
  padding: clamp(2rem, 4vw, 3.2rem) 0;
}

.sl-section--trust .sl-section-title,
.sl-section--trust .sl-trust-title{
  font-size: clamp(1.4rem, 2.56vw, 2.12rem);
  margin-bottom: .6rem;
}

.sl-section--trust-has-visual{
  position: relative;
  overflow: hidden;
  padding: 0;
  display: grid;
  grid-template-columns: 47% minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
}

.sl-section--trust-has-visual .sl-trust-media{
  grid-column: 1;
  grid-row: 1;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.sl-section--trust-has-visual .sl-trust-media img{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center left;
  border-radius: 0;
  box-shadow: none;
}

.sl-section--trust-has-visual .sl-trust-media-fade{
  background: linear-gradient(
    90deg,
    rgba(232, 239, 230, 0) 0%,
    rgba(232, 239, 230, 0) 40%,
    rgba(232, 239, 230, .05) 55%,
    rgba(240, 244, 238, .22) 68%,
    rgba(240, 244, 238, .5) 80%,
    rgba(240, 244, 238, .82) 90%,
    var(--sl-sage) 97%,
    #f0f4ee 100%
  );
}

.sl-section--trust-has-visual > .sl-trust-layout{
  grid-column: 2;
  grid-row: 1;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  grid-template-columns: minmax(0, 1fr) minmax(8rem, 10.4rem);
  gap: clamp(1.2rem, 2.4vw, 2rem);
  padding: clamp(2rem, 4vw, 3.2rem) var(--sl-content-gutter);
  min-height: 0;
  align-items: center;
  align-self: stretch;
}

.sl-trust-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(8.8rem, 11.2rem);
  gap: 1.6rem 2.4rem;
  align-items: center;
}

.sl-trust-visual{
  min-width: 0;
}

.sl-trust-media{
  position: relative;
  overflow: hidden;
  pointer-events: none;
}

.sl-trust-media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center left;
  border-radius: 0;
  box-shadow: none;
}

.sl-trust-media-fade{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(232, 239, 230, 0) 0%,
    rgba(232, 239, 230, 0) 28%,
    rgba(232, 239, 230, .03) 38%,
    rgba(232, 239, 230, .08) 48%,
    rgba(232, 239, 230, .18) 58%,
    rgba(240, 244, 238, .35) 68%,
    rgba(240, 244, 238, .55) 76%,
    rgba(240, 244, 238, .78) 84%,
    rgba(240, 244, 238, .92) 90%,
    var(--sl-sage) 94%,
    #f0f4ee 100%
  );
}

.sl-trust-church-photo{
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(44, 36, 25, .1);
}

.sl-section--trust:not(.sl-section--trust-has-visual) .sl-trust-church-photo{
  transform: scale(0.8);
  transform-origin: center center;
}

.sl-trust-church-sky{
  position: absolute;
  inset: 0 0 35%;
  background: linear-gradient(180deg, #b8d4e8 0%, #dce9f2 100%);
}

.sl-trust-church-field{
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(180deg, #c5d9a8, #9cb87a);
}

.sl-trust-church-building{
  position: absolute;
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);
  width: 42%;
}

.sl-trust-church-steeple{
  width: 12%;
  height: 28%;
  margin: 0 auto;
  background: #fff;
  border: 2px solid var(--sl-navy);
}

.sl-trust-church-roof{
  width: 0;
  height: 0;
  border-left: 50% solid transparent;
  border-right: 50% solid transparent;
  border-bottom: 35% solid #fff;
  margin: 0 auto;
  filter: drop-shadow(0 0 0 var(--sl-navy));
}

.sl-trust-church-body{
  height: 38%;
  background: #fff;
  border: 2px solid var(--sl-navy);
  border-top: none;
}

.sl-trust-callout{
  min-width: 0;
}

.sl-section--trust-has-visual .sl-trust-callout,
.sl-section--trust-has-visual .sl-trust-aside{
  position: relative;
  z-index: 2;
}

.sl-trust-title{
  margin-bottom: .6rem;
}

.sl-trust-intro{
  color: var(--sl-body-color);
  line-height: 1.65;
  font-size: var(--sl-text-base);
}

.sl-trust-list{
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--sl-body-color);
  line-height: 1.68;
  font-size: var(--sl-text-base);
}

.sl-trust-list li{
  position: relative;
  padding-left: 1.32rem;
  margin-bottom: .52rem;
}

.sl-trust-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .45rem;
  width: .85rem;
  height: .85rem;
  border-radius: 50%;
  background: rgba(90, 143, 106, .2);
  border: 2px solid #5a8f6a;
}

.sl-trust-list li::after{
  content: "";
  position: absolute;
  left: .28rem;
  top: .62rem;
  width: .3rem;
  height: .45rem;
  border: solid #5a8f6a;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.sl-trust-list li:last-child{
  margin-bottom: 0;
}

.sl-trust-aside{
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(90, 143, 106, .25);
  border-radius: .8rem;
  padding: .92rem .8rem;
  text-align: center;
}

.sl-trust-lock{
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  margin: 0 auto .52rem;
  border: 2px solid var(--sl-navy);
  border-radius: .35rem;
  position: relative;
}

.sl-trust-lock::before{
  content: "";
  position: absolute;
  width: 1rem;
  height: .75rem;
  border: 2px solid var(--sl-navy);
  border-bottom: none;
  border-radius: .5rem .5rem 0 0;
  left: 50%;
  top: -.55rem;
  transform: translateX(-50%);
}

.sl-trust-aside-text{
  font-size: var(--sl-text-sm);
  font-weight: 700;
  color: var(--sl-heading-color);
  line-height: 1.5;
}

/* Final CTA */
.sl-cta{
  position: relative;
  text-align: center;
  overflow: hidden;
}

.sl-cta--has-image .sl-cta-photo{
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.sl-cta--has-image .sl-cta-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .22;
}

.sl-cta--has-image .sl-cta-atmosphere,
.sl-cta--has-image .sl-cta-inner{
  position: relative;
  z-index: 1;
}

.sl-cta-atmosphere{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(201,162,39,.12), transparent 65%),
    radial-gradient(ellipse 50% 40% at 20% 30%, rgba(255,255,255,.06), transparent 60%);
  pointer-events: none;
}

.sl-cta-inner{
  position: relative;
}

.sl-cta-title{
  font-size: clamp(2rem, 3.85vw, 3.05rem);
  font-weight: 800;
  margin-bottom: .9rem;
  color: #fff;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-cta-text{
  color: rgba(255,255,255,.88);
  max-width: 50rem;
  margin: 0 auto 1.5rem;
  line-height: 1.65;
  font-size: var(--sl-text-base);
}

.sl-cta-actions{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .65rem;
  justify-content: center;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-cta-actions .btn{
  width: 100%;
  min-height: 3rem;
}

.sl-directory-hub-path{
  margin-top: .65rem;
  line-height: 1.55;
  max-width: 24rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-cta .btn-lg{
  font-size: 1.45rem;
  padding: .85rem 1.55rem;
}

.sl-pilot-note{
  color: rgba(255,255,255,.7) !important;
}

/* Landing page footer polish */
.sl-landing ~ .site-footer{
  margin-top: 0 !important;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  padding-top: 2rem !important;
  padding-bottom: calc(1.75rem + env(safe-area-inset-bottom, 0)) !important;
  background: var(--sl-navy-deep) !important;
  border-top: none !important;
  border-radius: 0;
  color: rgba(255,255,255,.88);
}

.sl-landing ~ .site-footer .site-footer-brand,
.sl-landing ~ .site-footer .site-footer-tagline,
.sl-landing ~ .site-footer .site-footer-verse,
.sl-landing ~ .site-footer .site-footer-note{
  color: rgba(255,255,255,.78) !important;
}

.sl-landing ~ .site-footer .brand-link,
.sl-landing ~ .site-footer .shepherdlink-brand-link{
  color: #fff !important;
}

.sl-landing ~ .site-footer .site-footer-links a{
  color: rgba(255,255,255,.92);
  font-weight: 700;
}

.sl-landing ~ .site-footer .site-footer-links a:hover{
  color: var(--sl-gold-warm);
}

.sl-landing ~ .site-footer .site-footer-verse{
  opacity: .85;
}

.sl-landing ~ .site-footer .small{
  font-size: var(--sl-text-sm) !important;
}

.sl-landing ~ .site-footer .site-footer-links{
  font-size: var(--sl-text-sm);
}

.sl-directory-hint{
  max-width: 40rem;
}

/* Public Church Hub */
.sl-church-hub-page{
  margin-top: -1.5rem;
}

.sl-church-hub{
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

.sl-church-hub-header{
  text-align: center;
  max-width: 42rem;
  margin: 0 auto clamp(2.5rem, 5vw, 3.5rem);
}

.sl-church-hub-brand{
  display: inline-flex;
  margin-bottom: 1.35rem;
  color: var(--sl-navy);
}

.sl-church-hub-brand .sl-hero-brand-name{
  color: var(--sl-navy);
}

.sl-church-hub-title{
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 2.85rem);
  font-weight: 700;
  color: var(--sl-navy);
  margin: 0 0 .85rem;
  letter-spacing: -.01em;
}

.sl-church-hub-lead{
  color: var(--sl-body-color);
  line-height: 1.65;
  font-size: var(--sl-text-base);
}

.sl-church-hub-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.sl-church-hub-card{
  min-width: 0;
}

.sl-church-hub-card-link{
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(26, 45, 71, .1);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(44, 36, 25, .06);
  color: inherit;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.sl-church-hub-card-link:hover,
.sl-church-hub-card-link:focus{
  transform: translateY(-2px);
  border-color: rgba(26, 45, 71, .16);
  box-shadow: 0 14px 32px rgba(44, 36, 25, .1);
  color: inherit;
  text-decoration: none;
}

.sl-church-hub-card-media{
  position: relative;
  aspect-ratio: 16 / 9;
  background: linear-gradient(145deg, var(--sl-mist) 0%, #f5f0e8 100%);
  overflow: hidden;
}

.sl-church-hub-card-media--compact{
  aspect-ratio: 3 / 2;
}

.sl-church-hub-card-photo{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sl-church-hub-card-logo-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1.5rem;
}

.sl-church-hub-card-logo{
  max-width: 5.5rem;
  max-height: 5.5rem;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: .75rem;
}

.sl-church-hub-card-fallback{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--sl-navy);
  background: linear-gradient(135deg, rgba(45, 90, 135, .12), rgba(201, 162, 39, .12));
}

.sl-church-hub-card-body{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: .35rem;
  padding: 1.15rem 1.2rem 1.25rem;
}

.sl-church-hub-card-name{
  margin: 0;
  font-size: clamp(1.12rem, .8vw + 1rem, 1.35rem);
  font-weight: 800;
  color: var(--sl-heading-color);
  line-height: 1.3;
}

.sl-church-hub-card-location{
  margin: 0;
  color: var(--sl-body-color);
  font-size: var(--sl-text-sm);
  line-height: 1.45;
}

.sl-church-hub-card-kind{
  margin: .15rem 0 .65rem;
  color: var(--sl-blue);
  font-size: var(--sl-text-xs);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.sl-church-hub-card-btn{
  align-self: flex-start;
  margin-top: auto;
  pointer-events: none;
}

.sl-church-hub-empty{
  max-width: 36rem;
  margin: 0 auto clamp(2rem, 4vw, 2.75rem);
  text-align: center;
  padding: clamp(1.75rem, 3vw, 2.25rem) clamp(1.25rem, 3vw, 2rem);
  background: #fff;
  border: 1px solid rgba(26, 45, 71, .1);
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(44, 36, 25, .05);
}

.sl-church-hub-empty-text{
  margin: 0;
  color: var(--sl-body-color);
  line-height: 1.65;
  font-size: var(--sl-text-base);
}

.sl-church-hub-start-btn{
  font-weight: 700;
}

.sl-church-hub-back{
  text-align: center;
  font-size: var(--sl-text-sm);
}

.sl-church-hub-back a{
  color: var(--sl-blue);
  font-weight: 700;
  text-decoration: none;
}

.sl-church-hub-back a:hover{
  color: var(--sl-navy);
  text-decoration: underline;
}

/* Public info pages (About, Privacy, Terms, Contact) */
.sl-public-page{
  max-width: 42rem;
  margin: 0 auto;
}

.sl-public-article{
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 8px 22px rgba(44, 36, 25, .05);
}

.sl-public-title{
  font-size: 1.65rem;
  font-weight: 800;
  color: #2c2419;
  margin-bottom: .5rem;
}

.sl-public-lead{
  color: #5c5348;
  line-height: 1.55;
  margin-bottom: 1.25rem;
}

.sl-public-body{
  color: #5c5348;
  line-height: 1.6;
}

.sl-public-body p{
  margin-bottom: 1rem;
}

.sl-public-heading{
  font-size: 1.05rem;
  font-weight: 800;
  color: #2c2419;
  margin: 1.25rem 0 .5rem;
}

.sl-public-note{
  padding: .65rem .85rem;
  border-radius: .65rem;
  background: rgba(255,252,245,.9);
  border: 1px dashed rgba(0,0,0,.1);
}

.sl-public-contact-card{
  padding: 1rem 1.15rem;
  margin-bottom: 1.75rem;
  border-radius: .75rem;
  background: rgba(255,252,245,.95);
  border: 1px solid rgba(44,36,25,.08);
}

.sl-public-contact-card-title{
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .75rem;
  color: var(--sl-heading-color, #2c2419);
}

.sl-public-contact-details{
  margin: 0;
}

.sl-public-contact-details dt{
  font-weight: 600;
  margin-top: .65rem;
  color: var(--sl-heading-color, #2c2419);
}

.sl-public-contact-details dt:first-child{
  margin-top: 0;
}

.sl-public-contact-details dd{
  margin: .15rem 0 0;
}

.sl-public-contact-note{
  margin-top: .85rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(44,36,25,.08);
}

.sl-public-back a{
  color: #1a3d5c;
  font-weight: 600;
  text-decoration: none;
}

.sl-public-back a:hover{
  text-decoration: underline;
}

/* Church request form (pilot onboarding) */

.sl-start-church-page{
  min-height: calc(100vh - 2rem);
  padding: 1.5rem 1rem 2.5rem;
  background: linear-gradient(180deg, #f7f3eb 0%, #eef4f8 100%);
}

.sl-start-church-shell{
  max-width: 42rem;
  margin: 0 auto;
}

.sl-start-church-header{
  text-align: center;
  margin-bottom: 1.35rem;
}

.sl-start-church-brand{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #1a3d5c;
  font-weight: 700;
  text-decoration: none;
  margin-bottom: 1rem;
}

.sl-start-church-brand:hover{
  color: #143149;
}

.sl-start-church-brand-mark{
  border-radius: .55rem;
}

.sl-start-church-kicker{
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5a6b7a;
  margin-bottom: .5rem;
}

.sl-start-church-title{
  font-size: clamp(1.65rem, 4vw, 2.15rem);
  line-height: 1.2;
  color: #1a3d5c;
  margin-bottom: .75rem;
}

.sl-start-church-lead{
  color: #4a5568;
  font-size: 1.05rem;
  line-height: 1.65;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

.sl-start-church-card{
  border-radius: 1rem;
  overflow: hidden;
}

.sl-start-church-card .card-body{
  padding: 1.35rem 1.25rem 1.5rem;
}

.sl-start-church-form .form-label{
  font-weight: 600;
  color: #2c2419;
}

.sl-start-church-actions{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .65rem;
  margin-top: 1.25rem;
}

.sl-start-church-actions--center{
  align-items: center;
}

.sl-start-church-submit{
  min-height: 3rem;
  font-weight: 700;
}

.sl-start-church-cancel{
  text-align: center;
}

.sl-start-church-footnote{
  margin-top: 1.1rem;
  text-align: center;
  font-size: .92rem;
  color: #5a6b7a;
  line-height: 1.6;
}

.sl-start-church-success{
  text-align: center;
  padding-top: 2rem;
}

.sl-start-church-success-icon{
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #d1e7dd;
  color: #0f5132;
  font-size: 1.5rem;
  font-weight: 700;
}

.sl-start-church-success-copy{
  color: #4a5568;
  line-height: 1.65;
  max-width: 34rem;
  margin: 0 auto 1.5rem;
}

.sl-owner-metric-value{
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a3d5c;
}

.sl-owner-request-table td{
  vertical-align: top;
}

/* Seeking Him Ministries owner / platform console */

.sl-owner{
  --sl-owner-scale: 1.32;
  max-width: min(72rem, 100%);
  margin: 0 auto;
  font-size: calc(1rem * var(--sl-owner-scale));
  overflow-x: clip;
}

.sl-owner-hero{
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: space-between;
  align-items: flex-start;
  background: linear-gradient(135deg, #1a3d5c 0%, #2d5a87 55%, #3d6f94 100%);
  color: #fff;
  border-radius: 1rem;
  padding: 1.8rem 1.62rem;
  box-shadow: 0 12px 32px rgba(26, 61, 92, 0.18);
}

.sl-owner-hero--compact{
  padding: 1.38rem 1.5rem;
}

.sl-owner-kicker{
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 700;
  opacity: .85;
  margin-bottom: .35rem;
}

.sl-owner-title{
  font-size: clamp(
    calc(1.62rem * var(--sl-owner-scale) / 1.2),
    4vw,
    calc(2.22rem * var(--sl-owner-scale) / 1.2)
  );
  font-weight: 800;
  line-height: 1.15;
  margin: 0;
}

.sl-owner-lead{
  margin: .5rem 0 0;
  opacity: .92;
  line-height: 1.6;
  max-width: 36rem;
  font-size: calc(1.14rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner-hero-meta{
  display: flex;
  flex-direction: column;
  gap: .78rem;
  align-items: flex-start;
}

.sl-owner-env{
  font-weight: 600;
}

.sl-owner-platform-ops li{
  display: flex;
  align-items: center;
  gap: .4rem;
  opacity: .92;
}

.sl-owner-glance-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: .75rem;
  padding: calc(1rem * var(--sl-owner-scale) / 1.2);
  height: 100%;
  border-left: 4px solid rgba(26, 61, 92, .35);
}

.sl-owner-glance-card--pass{ border-left-color: #198754; }
.sl-owner-glance-card--warning{ border-left-color: #ffc107; }
.sl-owner-glance-card--critical{ border-left-color: #dc3545; }

.sl-owner-glance-label{
  font-size: calc(.85rem * var(--sl-owner-scale) / 1.2);
  color: rgba(26, 61, 92, .65);
  margin-bottom: .25rem;
}

.sl-owner-glance-value{
  font-size: calc(1.2rem * var(--sl-owner-scale) / 1.2);
  font-weight: 600;
  color: #1a3d5c;
  line-height: 1.25;
}

.sl-owner-jump-nav{
  position: sticky;
  top: 0;
  z-index: 1020;
  background: var(--bs-body-bg);
  padding: .35rem 0;
  margin-left: -.15rem;
  margin-right: -.15rem;
}

.sl-owner-jump-nav-inner{
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: .5rem .65rem;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .75rem;
  box-shadow: 0 .15rem .5rem rgba(26, 61, 92, .06);
}

.sl-owner-jump-link{
  display: inline-flex;
  align-items: center;
  padding: .4rem .75rem;
  border-radius: 999px;
  font-size: calc(.9rem * var(--sl-owner-scale) / 1.2);
  text-decoration: none;
  color: #1a3d5c;
  border: 1px solid rgba(26, 61, 92, .15);
  background: #f8fafc;
  min-height: 2.25rem;
}

.sl-owner-jump-link:hover,
.sl-owner-jump-link:focus{
  background: #1a3d5c;
  border-color: #1a3d5c;
  color: #fff;
}

.sl-owner-group-heading{
  font-size: calc(1.2rem * var(--sl-owner-scale) / 1.2);
  font-weight: 700;
  color: #1a3d5c;
  letter-spacing: .01em;
}

.sl-owner-section-group{
  margin-bottom: 2rem;
}

.sl-owner-global-status{
  border-radius: .85rem;
  border: 1px solid rgba(0, 0, 0, .08);
  overflow: hidden;
}

.sl-owner-global-status--ready{
  background: linear-gradient(135deg, rgba(25, 135, 84, .1) 0%, rgba(25, 135, 84, .04) 100%);
  border-color: rgba(25, 135, 84, .28);
}

.sl-owner-global-status--warning{
  background: linear-gradient(135deg, rgba(255, 193, 7, .14) 0%, rgba(255, 193, 7, .05) 100%);
  border-color: rgba(255, 193, 7, .45);
}

.sl-owner-global-status--critical{
  background: linear-gradient(135deg, rgba(220, 53, 69, .1) 0%, rgba(220, 53, 69, .04) 100%);
  border-color: rgba(220, 53, 69, .32);
}

.sl-owner-global-status-inner{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem 1rem;
  padding: 1rem 1.15rem;
}

.sl-owner-global-status-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-weight: 800;
  flex-shrink: 0;
}

.sl-owner-global-status--ready .sl-owner-global-status-icon{
  background: rgba(25, 135, 84, .15);
  color: #198754;
}

.sl-owner-global-status--warning .sl-owner-global-status-icon{
  background: rgba(255, 193, 7, .22);
  color: #997404;
}

.sl-owner-global-status--critical .sl-owner-global-status-icon{
  background: rgba(220, 53, 69, .14);
  color: #b02a37;
}

.sl-owner-global-status-headline{
  font-size: calc(1.08rem * var(--sl-owner-scale) / 1.2);
  font-weight: 700;
  color: #1a3d5c;
  line-height: 1.35;
}

.sl-owner-global-status-text{
  flex: 1 1 12rem;
  min-width: 0;
}

.sl-owner-global-status-action{
  margin-left: auto;
}

.sl-owner-quick-actions{
  border-left: 4px solid rgba(26, 61, 92, .35);
}

.sl-owner-system-diagnostics summary{
  cursor: pointer;
  list-style: none;
}

.sl-owner-system-diagnostics summary::-webkit-details-marker{
  display: none;
}

.sl-owner-system-diagnostics-summary{
  padding-bottom: .5rem;
}

.sl-owner-nested-panel{
  box-shadow: none !important;
  border: 1px solid rgba(0, 0, 0, .08) !important;
  background: #fafbfc;
}

.sl-owner-attention-group-title{
  color: #1a3d5c;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.sl-owner-attention-title{
  font-weight: 600;
  color: #2c2419;
  display: block;
}

.sl-owner-attention-body{
  flex: 1 1 12rem;
  min-width: 0;
}

.sl-owner-attention-action{
  flex-shrink: 0;
  white-space: nowrap;
}

.sl-owner-add-church-panel{
  border-left: 4px solid #1a3d5c;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.sl-owner-backup-zone{
  padding: 1rem 1.05rem;
  border-radius: .85rem;
  border: 1px solid rgba(0, 0, 0, .07);
  background: #fafbfc;
}

.sl-owner-backup-zone--platform{
  border-left: 4px solid #1a3d5c;
}

.sl-owner-backup-zone--church{
  border-left: 4px solid #3d6f94;
}

.sl-owner-backup-zone-title{
  font-weight: 700;
  color: #1a3d5c;
  text-transform: none;
}

.sl-owner-backup-divider{
  border-color: rgba(26, 61, 92, .12);
  opacity: 1;
}

.sl-owner-backup-primary-btn{
  min-height: 2.75rem;
  font-weight: 600;
}

.sl-owner-backup-secondary-btn{
  min-height: 2.5rem;
}

.sl-owner-archive-actions{
  gap: .5rem !important;
}

.sl-owner-archive-actions .btn{
  min-height: 2.35rem;
}

.sl-owner-restore-locked,
.sl-owner-restore-locked:disabled{
  color: #1a3d5c;
  background: #e8eef4;
  border: 1px solid rgba(26, 61, 92, .22);
  opacity: 1;
  cursor: not-allowed;
}

.sl-owner-restore-locked-badge{
  background: #e8eef4;
  color: #1a3d5c;
  border: 1px solid rgba(26, 61, 92, .18);
  font-weight: 600;
}

.sl-owner-ops-panel{
  border-radius: .85rem;
}

.sl-owner-ops-panel.card{
  margin-bottom: 1.25rem;
}

.sl-owner-needs-attention{
  border-left: 4px solid rgba(255, 193, 7, .75);
}

.sl-owner-attention-list{
  display: grid;
  gap: .5rem;
}

.sl-owner-attention-item{
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: .65rem;
  background: #fff;
}

.sl-owner-attention-item--critical{
  border-left: 3px solid #dc3545;
}

.sl-owner-attention-item--warning{
  border-left: 3px solid #ffc107;
}

.sl-owner-attention-item--info{
  border-left: 3px solid #0d6efd;
}

.sl-owner-attention-link{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .75rem .9rem;
  text-decoration: none;
  color: inherit;
  min-height: 2.75rem;
}

.sl-owner-attention-link:hover,
.sl-owner-attention-link:focus{
  background: #f8fafc;
  color: inherit;
}

.sl-owner-attention-go{
  color: #1a3d5c;
  white-space: nowrap;
}

.sl-owner-danger-action{
  font-weight: 600;
}

.sl-owner-danger-action.btn-outline-danger{
  border-width: 2px;
}

.sl-owner-backup-primary-actions .btn{
  min-height: 2.5rem;
}

.sl-owner-backup-workflow summary{
  cursor: pointer;
  list-style: none;
}

.sl-owner-backup-workflow summary::-webkit-details-marker{
  display: none;
}

.sl-owner-backup-workflow .card-body{
  padding: calc(1rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner-platform-backup-card{
  background: var(--bs-body-bg);
}

.sl-owner-production-readiness-grid{
  display: grid;
  gap: .85rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px){
  .sl-owner-production-readiness-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.sl-owner-alert{
  border-radius: .75rem;
}

.sl-owner-filter-scroll{
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.sl-filter-btn{
  border-radius: 999px;
  border: 1px solid rgba(26, 61, 92, .2);
  color: #1a3d5c;
  background: #fff;
}

.sl-filter-btn.active,
.sl-filter-btn.active:hover{
  background: #1a3d5c;
  border-color: #1a3d5c;
  color: #fff;
}

.sl-filter-btn--success.active{ background: #198754; border-color: #198754; }
.sl-filter-btn--info.active{ background: #0dcaf0; border-color: #0dcaf0; color: #083344; }
.sl-filter-btn--danger.active{ background: #dc3545; border-color: #dc3545; }
.sl-filter-btn--warning.active{ background: #ffc107; border-color: #ffc107; color: #332701; }
.sl-filter-btn--attention.active{ background: #6f42c1; border-color: #6f42c1; }

.sl-stat-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: .85rem;
  padding: 1.02rem 1.2rem;
  height: 100%;
  box-shadow: 0 4px 14px rgba(44, 36, 25, .05);
}

.sl-stat-label{
  font-size: .86rem;
  letter-spacing: .02em;
  color: #6c757d;
  font-weight: 600;
}

.sl-stat-value{
  font-size: 1.98rem;
  font-weight: 800;
  line-height: 1.1;
  color: #1a3d5c;
}

.sl-stat-card--success .sl-stat-value{ color: #198754; }
.sl-stat-card--info .sl-stat-value{ color: #0a58ca; }
.sl-stat-card--warning .sl-stat-value{ color: #997404; }
.sl-stat-card--danger .sl-stat-value{ color: #b02a37; }

.sl-owner-section-title{
  font-size: calc(1.44rem * var(--sl-owner-scale) / 1.2);
  font-weight: 800;
  color: #2c2419;
}

.sl-church-card{
  position: relative;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  padding: 1.38rem 1.32rem 1.2rem;
  height: 100%;
  box-shadow: 0 6px 18px rgba(44, 36, 25, .06);
}

.sl-church-card--expired{ border-left: 4px solid #dc3545; }
.sl-church-card--expiring{ border-left: 4px solid #ffc107; }
.sl-church-card--disabled{ border-left: 4px solid #6c757d; opacity: .94; }

.sl-church-name{
  font-size: 1.32rem;
  font-weight: 800;
}

.sl-church-meta dt{
  font-size: .84rem;
  letter-spacing: .02em;
  margin-bottom: 0;
}

.sl-church-meta dd{
  font-size: 1.05rem;
}

.sl-ops-chip{
  font-size: .82rem;
  font-weight: 600;
  padding: .24rem .6rem;
  border-radius: 999px;
  border: 1px solid transparent;
}

.sl-ops-chip--ok{
  background: #e8f5e9;
  color: #1b5e20;
  border-color: #c8e6c9;
}

.sl-ops-chip--warn{
  background: #fff8e1;
  color: #7a5c00;
  border-color: #ffe082;
}

.sl-ops-chip--off{
  background: #f1f3f5;
  color: #6c757d;
  border-color: #dee2e6;
}

.sl-ops-dot{
  display: inline-block;
  width: .66rem;
  height: .66rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.sl-ops-dot--ok{ background: #198754; }
.sl-ops-dot--warn{ background: #ffc107; }
.sl-ops-dot--off{ background: #adb5bd; }

.sl-owner-back{
  color: #1a3d5c;
  font-weight: 600;
  text-decoration: none;
}

.sl-owner-back:hover{ text-decoration: underline; }

.sl-owner-panel .card-body{ padding: calc(1.5rem * var(--sl-owner-scale) / 1.2); }

.sl-detail-dl dt{
  font-size: .94rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.sl-mini-stat{
  text-align: center;
  background: #f8f9fa;
  border-radius: .65rem;
  padding: .78rem .6rem;
}

.sl-mini-stat-val{
  font-size: 1.62rem;
  font-weight: 800;
  color: #1a3d5c;
}

.sl-mini-stat-lbl{
  font-size: .82rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.sl-readiness-list li{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .42rem 0;
  font-size: 1.1rem;
}

.sl-owner-danger-zone{
  border: 1px solid rgba(220, 53, 69, .25);
}

.sl-owner-empty{
  background: #fff;
  border-radius: 1rem;
  border: 1px dashed rgba(0,0,0,.12);
}

.sl-owner-landing-preview{
  max-height: 12rem;
  width: auto;
  object-fit: contain;
}

@media (max-width: 575.98px){
  .sl-owner-hero{
    padding: 1.38rem 1.2rem;
  }

  .sl-owner-global-status-inner{
    padding: .9rem 1rem;
  }

  .sl-owner-global-status-action{
    width: 100%;
    margin-left: 0;
  }

  .sl-owner-attention-link{
    flex-direction: column;
    align-items: stretch;
  }

  .sl-owner-attention-action{
    width: 100%;
    text-align: center;
  }

  .sl-owner-jump-nav-inner{
    padding: .45rem .5rem;
  }

  .sl-owner-backup-primary-actions .btn,
  .sl-owner-church-backup-quick-actions .btn,
  .sl-owner-backup-utility-actions .btn{
    width: 100%;
  }

  .sl-owner-backup-bulk-bar .form-select,
  .sl-owner-backup-bulk-bar .btn{
    width: 100%;
    max-width: 100%;
  }

  .sl-owner-archive-actions .btn{
    flex: 1 1 calc(50% - .5rem);
    min-width: 0;
  }

  .sl-owner-archive-actions form.ms-sm-auto{
    margin-left: 0 !important;
    flex: 1 1 100%;
  }

  .sl-owner-archive-actions form.ms-sm-auto .btn{
    width: 100%;
  }

  .sl-church-card-actions .btn,
  .sl-church-card-actions .form-select{
    width: 100%;
  }

  .sl-church-card-actions form{
    width: 100%;
  }
}

@media (min-width: 992px){
  .sl-hero--has-visual{
    --sl-hero-photo-w: clamp(56vw, 58vw, 60vw);
    --sl-hero-text-reach: calc((100vw - var(--sl-hero-photo-w)) + (var(--sl-hero-photo-w) * 0.55));
  }

  .sl-hero--has-visual.sl-band--hero{
    min-height: clamp(28.8rem, 65.6vh, 38.4rem);
    padding-top: clamp(3.8rem, 6.8vw, 5.6rem);
    padding-bottom: calc(clamp(1.4rem, 2.2vw, 2rem) + var(--sl-hero-wave-h));
    -webkit-clip-path: var(--sl-hero-bottom-clip);
    clip-path: var(--sl-hero-bottom-clip);
  }

  .sl-hero-layout--with-visual.sl-container{
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: clamp(6rem, 19.5vw, 18rem);
    padding-right: clamp(4.5rem, 12vw, 10.5rem);
  }

  .sl-hero-layout--with-visual{
    position: relative;
    z-index: 2;
    gap: 2rem;
  }

  .sl-hero-layout--with-visual .sl-hero-main{
    max-width: calc(var(--sl-hero-text-reach) - clamp(1.25rem, 4vw, 4.5rem));
    padding-right: 0;
  }

  .sl-hero--has-visual .sl-hero-foot{
    max-width: calc(var(--sl-hero-text-reach) - clamp(1rem, 3vw, 3.5rem));
  }

  .sl-hero--has-visual .sl-lead{
    max-width: 92%;
  }

  .sl-hero-media{
    width: var(--sl-hero-photo-w);
  }

  .sl-hero-media img{
    object-position: center right;
  }

  .sl-section--trust-has-visual > .sl-trust-layout{
    grid-template-columns: minmax(0, 1fr) minmax(8rem, 9.6rem);
    gap: clamp(1rem, 2vw, 1.6rem);
  }

  .sl-section--trust-has-visual .sl-trust-media img{
    object-position: center left;
  }
}

@media (min-width: 992px) and (max-width: 1099.98px){
  .sl-section--trust-has-visual > .sl-trust-layout{
    grid-template-columns: 1fr;
  }

  .sl-section--trust-has-visual .sl-trust-aside{
    max-width: 14rem;
    justify-self: start;
  }
}

@media (min-width: 576px){
  .sl-landing{
    --sl-content-gutter: clamp(1.5rem, 6vw, 2.75rem);
  }
}

@media (min-width: 768px){
  .sl-landing{
    --sl-content-gutter: clamp(2rem, 8vw, 4.5rem);
  }

  .sl-hero-actions-row{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
  }

  .sl-hero-cta-group .btn{
    width: auto;
    min-height: 2.75rem;
  }

  .sl-hero-foot{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem 1rem;
  }

  .sl-hero-member-hint{
    width: auto;
    flex: 1 1 100%;
  }

  .sl-cta-actions{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    max-width: none;
  }

  .sl-cta-actions .btn{
    width: auto;
    min-height: 2.75rem;
  }
}

@media (min-width: 992px){
  .sl-landing{
    --sl-content-gutter: clamp(4rem, 12vw, 10rem);
  }
}

@media (min-width: 1200px){
  .sl-landing{
    --sl-content-gutter: clamp(6rem, 18vw, 15rem);
  }

  .sl-steps{
    gap: 2rem 2.5rem;
  }
}

@media (min-width: 1400px){
  .sl-steps{
    gap: 2.25rem 3rem;
  }
}

@media (max-width: 767.98px){
  .sl-prayer-panels{
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
  }

  .sl-benefit-strip{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem .75rem;
  }
}

@media (max-width: 991.98px){
  .sl-hero-layout{
    grid-template-columns: 1fr;
  }

  .sl-hero-layout--with-visual .sl-hero-main{
    max-width: 100%;
  }

  .sl-hero--has-visual.sl-band--hero{
    min-height: 0;
    background: linear-gradient(145deg, var(--sl-navy-deep) 0%, var(--sl-navy) 38%, var(--sl-blue) 100%);
    -webkit-clip-path: none;
    clip-path: none;
    padding-bottom: calc(clamp(1.6rem, 2.8vw, 2.2rem) + var(--sl-hero-wave-h));
  }

  .sl-hero-layout--with-visual.sl-container{
    width: var(--sl-container);
    max-width: var(--sl-container);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sl-content-gutter);
    padding-right: var(--sl-content-gutter);
  }

  .sl-hero--has-visual .sl-hero-media{
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - (var(--sl-content-gutter) * 2));
    max-width: calc(100% - (var(--sl-content-gutter) * 2));
    margin-left: var(--sl-content-gutter);
    margin-right: var(--sl-content-gutter);
    height: clamp(11.2rem, 38.4vw, 16.8rem);
    margin-top: 1.4rem;
    z-index: 1;
    -webkit-clip-path: none;
    clip-path: none;
    border-radius: .85rem;
    overflow: hidden;
  }

  .sl-hero--has-visual .sl-hero-copy,
  .sl-hero--has-visual .sl-hero-foot{
    max-width: 100%;
    text-shadow: none;
  }

  .sl-hero--has-visual .sl-hero-media img{
    position: absolute;
    inset: 0;
    object-position: center center;
  }

  .sl-hero--has-visual .sl-hero-media-fade{
    background:
      linear-gradient(
        to bottom,
        rgba(15, 31, 51, .18) 0%,
        transparent 14%,
        transparent 86%,
        rgba(15, 31, 51, .22) 100%
      );
  }

  .sl-hero--has-visual .sl-title,
  .sl-hero--has-visual .sl-title-accent,
  .sl-hero--has-visual .sl-lead,
  .sl-hero--has-visual .sl-hero-verse{
    max-width: 100%;
  }

  .sl-hero-trust-badge--pill{
    max-width: 100%;
  }

  .sl-hero-trust-badge{
    max-width: 100%;
  }

  .sl-directory-layout{
    grid-template-columns: 1fr;
  }

  .sl-steps{
    grid-template-columns: 1fr;
  }

  .sl-trust-layout{
    grid-template-columns: 1fr;
  }

  .sl-section--trust-has-visual{
    display: block;
    padding: 0;
  }

  .sl-section--trust-has-visual .sl-trust-media{
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    min-height: clamp(11.2rem, 38.4vw, 16.8rem);
    -webkit-clip-path: none;
    clip-path: none;
  }

  .sl-section--trust-has-visual .sl-trust-layout{
    grid-template-columns: 1fr;
    padding:
      clamp(1.6rem, 3.2vw, 2.2rem)
      var(--sl-content-gutter)
      clamp(2rem, 4vw, 3.2rem);
    min-height: 0;
  }

  .sl-section--trust-has-visual .sl-trust-media img{
    position: absolute;
    inset: 0;
    object-position: center center;
  }

  .sl-section--trust-has-visual .sl-trust-media-fade{
    background: linear-gradient(
      to bottom,
      rgba(232, 239, 230, .12) 0%,
      transparent 14%,
      transparent 86%,
      rgba(240, 244, 238, .18) 100%
    );
  }

  .sl-trust-aside{
    max-width: 18rem;
  }
}

@media (max-width: 575.98px){
  .sl-landing{
    margin-top: -1rem;
  }

  .sl-container{
    padding-left: var(--sl-content-gutter);
    padding-right: var(--sl-content-gutter);
  }

  .sl-band{
    padding: 1.75rem 0;
  }

  .sl-band--hero{
    padding-top: 1.35rem;
    padding-bottom: 2rem;
  }

  .sl-hero--has-visual.sl-band--hero{
    padding-bottom: calc(1.35rem + var(--sl-hero-wave-h));
  }

  .sl-title{
    font-size: clamp(1.85rem, 8.5vw, 2.35rem);
    margin-bottom: .75rem;
    line-height: 1.12;
  }

  .sl-hero--has-visual .sl-title{
    font-size: clamp(1.95rem, 8.8vw, 2.5rem);
    margin-bottom: .8rem;
  }

  .sl-title-accent{
    font-size: clamp(1.72rem, 7.5vw, 2.15rem);
    margin-top: .08rem;
  }

  .sl-hero--has-visual .sl-title-accent{
    font-size: clamp(1.8rem, 8vw, 2.25rem);
  }

  .sl-lead{
    font-size: 1.0625rem;
    line-height: 1.62;
    margin-bottom: .7rem;
  }

  .sl-hero--has-visual .sl-lead{
    font-size: 1.08rem;
    margin-bottom: .75rem;
  }

  .sl-hero-verse{
    font-size: .98rem;
    margin-bottom: .95rem;
    line-height: 1.55;
  }

  .sl-hero--has-visual .sl-hero-verse{
    font-size: 1rem;
    margin-bottom: 1rem;
  }

  .sl-hero-brand-name{
    font-size: 1.02rem;
  }

  .sl-hero-actions{
    gap: 1rem;
  }

  .sl-hero-path{
    width: 100%;
  }

  .sl-hero-path .btn,
  .sl-hero-actions .btn{
    width: 100%;
    min-height: 3rem;
  }

  .sl-hero-learn{
    text-align: center;
    padding-top: .15rem;
  }

  .sl-hero-trust-badge--side{
    width: 100%;
    max-width: 100%;
  }

  .sl-hero--has-visual .sl-hero-media{
    height: clamp(10.5rem, 42vw, 14rem);
    margin-top: 1rem;
  }

  .sl-section-title{
    font-size: clamp(1.55rem, 6.5vw, 1.9rem);
    margin-bottom: .55rem;
  }

  .sl-section-lead{
    font-size: 1.02rem;
    margin-bottom: 1.15rem;
    line-height: 1.62;
  }

  .sl-prayer-life-intro{
    margin-bottom: 1.65rem;
  }

  .sl-prayer-panels{
    gap: 1.35rem;
    margin-bottom: 1.65rem;
  }

  .sl-prayer-visual{
    aspect-ratio: 16 / 11;
  }

  .sl-prayer-panel-title{
    font-size: 1.12rem;
  }

  .sl-step{
    padding: 1rem 1rem 1.05rem;
    background: #fff;
    border: 1px solid rgba(26, 45, 71, .08);
    border-radius: .85rem;
    box-shadow: 0 4px 14px rgba(44, 36, 25, .04);
  }

  .sl-step-title{
    font-size: 1.2rem;
  }

  .sl-step-text{
    font-size: 1rem;
    line-height: 1.6;
  }

  .sl-benefit-strip{
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .sl-benefit-item{
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: .85rem;
    padding: .85rem 1rem;
    background: #fff;
    border: 1px solid rgba(26, 45, 71, .08);
    border-radius: .75rem;
  }

  .sl-benefit-label{
    font-size: 1rem;
    line-height: 1.45;
  }

  .sl-directory-search-bar{
    flex-direction: column;
    border-radius: 1rem;
  }

  .sl-directory-search{
    border-radius: 0;
    min-height: 2.75rem;
  }

  .sl-directory-search-btn{
    justify-content: center;
    padding: .65rem 1rem;
    border-radius: 0 0 .95rem .95rem;
  }

  .sl-directory-empty-callout{
    padding: 1.25rem 1.1rem;
  }

  .sl-directory--featured .sl-container{
    justify-content: center;
  }

  .sl-directory--featured .sl-directory-feature{
    width: 100%;
    max-width: 100%;
  }

  .sl-directory-hub-btn{
    width: 100%;
    max-width: 100%;
    min-height: 3rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.0625rem;
  }

  .sl-directory-hub-link-wrap{
    justify-content: center;
  }

  .sl-directory-intro--centered{
    padding-left: .25rem;
    padding-right: .25rem;
  }

  .sl-directory-feature{
    padding: 1.5rem 1.1rem 1.65rem;
  }

  .sl-directory-title{
    font-size: clamp(1.65rem, 7vw, 2rem);
  }

  .sl-directory-lead-line{
    font-size: 1.02rem;
    line-height: 1.6;
  }

  .sl-church-hub-grid{
    grid-template-columns: minmax(0, 1fr);
  }

  .sl-church-hub-card-body{
    padding: 1rem 1rem 1.15rem;
  }

  .sl-church-hub-start-btn{
    width: 100%;
  }

  .sl-prayer-panels{
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .sl-prayer-panel-copy{
    padding: 1.15rem 1.1rem 1.35rem;
  }

  .sl-prayer-life-closing{
    gap: .75rem;
    padding: 0 .35rem;
  }

  .sl-prayer-life-closing-line{
    max-width: 2.5rem;
  }

  .sl-benefit-strip{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem .75rem;
  }

  .sl-benefit-label{
    font-size: var(--sl-text-sm);
  }

  .sl-trust-aside{
    max-width: 100%;
  }

  .sl-cta .btn,
  .sl-cta-actions .btn{
    width: 100%;
    min-height: 3rem;
  }

  .sl-cta-title{
    font-size: clamp(1.65rem, 7vw, 2rem);
  }

  .sl-cta-text{
    font-size: 1.02rem;
    line-height: 1.62;
  }

  .sl-cta-actions{
    gap: .65rem;
  }

  .sl-start-church-page{
    padding-left: .85rem;
    padding-right: .85rem;
  }

  .sl-start-church-card .card-body{
    padding: 1.1rem .95rem 1.25rem;
  }

  .sl-start-church-submit,
  .sl-start-church-actions .btn{
    width: 100%;
    min-height: 48px;
  }

  .sl-owner-request-table .btn{
    width: 100%;
  }

  .sl-wave{
    height: 2.5rem;
  }
}

/* Owner health status panel */
.sl-health-status-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.4rem, 1fr));
  gap: .9rem;
}

.sl-health-status-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .75rem;
  padding: 1.02rem 1.08rem;
  background: #fff;
}

.sl-health-status-card--healthy{
  border-color: rgba(25, 135, 84, .25);
  background: rgba(25, 135, 84, .04);
}

.sl-health-status-card--warning{
  border-color: rgba(255, 193, 7, .45);
  background: rgba(255, 193, 7, .08);
}

.sl-health-status-card--error{
  border-color: rgba(220, 53, 69, .35);
  background: rgba(220, 53, 69, .06);
}

.sl-health-status-label{
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: #6c757d;
  margin-bottom: .35rem;
}

.sl-health-status-value{
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: #2c2419;
  line-height: 1.4;
}

.sl-health-icon{
  flex-shrink: 0;
  font-weight: 800;
  line-height: 1.2;
}

.sl-health-icon--ok{ color: #198754; }
.sl-health-icon--warn{ color: #cc9a06; }
.sl-health-icon--error{ color: #dc3545; }
.sl-health-icon--unknown{ color: #6c757d; }

.sl-health-checklist-item{
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .54rem 0;
  font-size: 1.14rem;
  color: #2c2419;
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.sl-health-checklist-item:last-child{
  border-bottom: 0;
}

.sl-health-checklist-item--warning{
  color: #664d03;
}

.sl-health-checklist-item--error{
  color: #842029;
}

/* Owner status labels — PASS / WARNING / CRITICAL */
.sl-status-badge{
  display: inline-block;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .18rem .54rem;
  border-radius: .35rem;
  line-height: 1.35;
  white-space: nowrap;
}

.sl-status-badge--pass{
  color: #0f5132;
  background: rgba(25, 135, 84, .14);
  border: 1px solid rgba(25, 135, 84, .25);
}

.sl-status-badge--warning{
  color: #664d03;
  background: rgba(255, 193, 7, .18);
  border: 1px solid rgba(255, 193, 7, .4);
}

.sl-status-badge--critical{
  color: #842029;
  background: rgba(220, 53, 69, .12);
  border: 1px solid rgba(220, 53, 69, .3);
}

.sl-launch-milestones li{
  padding: .15rem 0;
}

.sl-launch-milestone--done{
  color: #198754;
}

.sl-launch-milestone--pending{
  color: #6c757d;
}

/* Owner portal — Bootstrap controls scaled for readability */
.sl-owner .form-label{
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
  margin-bottom: calc(.45rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .form-control,
.sl-owner .form-select,
.sl-owner textarea.form-control{
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
  padding: calc(.55rem * var(--sl-owner-scale) / 1.2) calc(.9rem * var(--sl-owner-scale) / 1.2);
  min-height: calc((1.5em + 1.1rem + 2px) * var(--sl-owner-scale) / 1.2);
}

.sl-owner .form-control-sm,
.sl-owner .form-select-sm{
  font-size: calc(.95rem * var(--sl-owner-scale) / 1.2);
  padding: calc(.4rem * var(--sl-owner-scale) / 1.2) calc(.75rem * var(--sl-owner-scale) / 1.2);
  min-height: calc((1.5em + .8rem + 2px) * var(--sl-owner-scale) / 1.2);
}

.sl-owner .btn{
  --bs-btn-padding-y: calc(.5rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-padding-x: calc(1rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-line-height: 1.5;
}

.sl-owner .btn-sm{
  --bs-btn-padding-y: calc(.35rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-padding-x: calc(.75rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-font-size: calc(.95rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .btn-lg{
  --bs-btn-padding-y: calc(.65rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-padding-x: calc(1.35rem * var(--sl-owner-scale) / 1.2);
  --bs-btn-font-size: calc(1.15rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .table{
  --bs-table-cell-padding-y: calc(.85rem * var(--sl-owner-scale) / 1.2);
  --bs-table-cell-padding-x: calc(.85rem * var(--sl-owner-scale) / 1.2);
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .table-sm{
  --bs-table-cell-padding-y: calc(.55rem * var(--sl-owner-scale) / 1.2);
  --bs-table-cell-padding-x: calc(.65rem * var(--sl-owner-scale) / 1.2);
  font-size: calc(1rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .card-body{
  padding: calc(1.5rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .card-header{
  padding: calc(1rem * var(--sl-owner-scale) / 1.2) calc(1.5rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .alert{
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
  padding: calc(1rem * var(--sl-owner-scale) / 1.2) calc(1.2rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .badge{
  font-size: calc(.85em * var(--sl-owner-scale) / 1.2);
}

.sl-owner .h5,
.sl-owner h5{
  font-size: calc(1.15rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .h6,
.sl-owner h6{
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner code{
  font-size: calc(.95em * var(--sl-owner-scale) / 1.2);
}

.sl-owner .form-text,
.sl-owner p.small,
.sl-owner .small{
  font-size: calc(.95em * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-owner-ops-panel > .card-body{
  padding: calc(1.5rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner-backup-bulk-bar{
  gap: .75rem;
}

.sl-owner-backup-action-select{
  max-width: 14rem;
}

.sl-owner-backup-select-col{
  width: 2.5rem;
}

.sl-owner-church-backup-picker .form-select{
  min-height: 2.75rem;
}

.sl-owner-church-backup-card{
  background: var(--bs-body-bg);
}

.sl-owner-church-backup-actions .btn{
  min-height: 2.375rem;
  min-width: 5.5rem;
}

.sl-owner-church-backup-list .text-break,
.sl-owner-church-backup-loaded .text-break{
  overflow-wrap: anywhere;
  word-break: break-word;
}

.sl-owner .sl-owner-request-table td,
.sl-owner .sl-owner-request-table th{
  padding-top: calc(.85rem * var(--sl-owner-scale) / 1.2);
  padding-bottom: calc(.85rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-owner-metric-value{
  font-size: calc(1.8rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-owner-metric-label{
  font-size: calc(.95rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-stat-card{
  padding: calc(1.02rem * var(--sl-owner-scale) / 1.2) calc(1.2rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-stat-label{
  font-size: calc(.86rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-stat-value{
  font-size: calc(1.98rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-status-badge{
  font-size: calc(.82rem * var(--sl-owner-scale) / 1.2);
  padding: calc(.18rem * var(--sl-owner-scale) / 1.2) calc(.54rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner .sl-health-checklist-item{
  padding: calc(.35rem * var(--sl-owner-scale) / 1.2) 0;
  font-size: calc(1rem * var(--sl-owner-scale) / 1.2);
  line-height: 1.55;
}

.sl-owner .sl-health-checklist-item:last-child{
  padding-bottom: 0;
}

/* Owner Check System — pilot readiness summary */
.sl-owner-check-panel{
  border-left: 4px solid rgba(26, 61, 92, .35);
}

.sl-owner-check-summary{
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
  line-height: 1.6;
  color: #3d4654;
  max-width: 48rem;
}

.sl-owner-check-badge{
  display: inline-block;
  font-size: calc(.88rem * var(--sl-owner-scale) / 1.2);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: calc(.35rem * var(--sl-owner-scale) / 1.2) calc(.75rem * var(--sl-owner-scale) / 1.2);
  border-radius: 999px;
  white-space: nowrap;
}

.sl-owner-check-badge--ready{
  color: #0f5132;
  background: rgba(25, 135, 84, .14);
  border: 1px solid rgba(25, 135, 84, .28);
}

.sl-owner-check-badge--needs_attention{
  color: #664d03;
  background: rgba(255, 193, 7, .18);
  border: 1px solid rgba(255, 193, 7, .38);
}

.sl-owner-check-badge--action_required{
  color: #842029;
  background: rgba(220, 53, 69, .12);
  border: 1px solid rgba(220, 53, 69, .28);
}

.sl-owner-check-list{
  display: grid;
  gap: calc(.85rem * var(--sl-owner-scale) / 1.2);
}

.sl-owner-check-list--full{
  grid-template-columns: 1fr;
}

@media (min-width: 768px){
  .sl-owner-check-list:not(.sl-owner-check-list--full){
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sl-owner-check-list--full{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.sl-owner-check-card{
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: .85rem;
  padding: calc(1rem * var(--sl-owner-scale) / 1.2) calc(1.1rem * var(--sl-owner-scale) / 1.2);
  background: #fff;
  height: 100%;
}

.sl-owner-check-card--ready{
  border-left: 4px solid #198754;
}

.sl-owner-check-card--needs_attention{
  border-left: 4px solid #ffc107;
}

.sl-owner-check-card--action_required{
  border-left: 4px solid #dc3545;
}

.sl-owner-check-label{
  font-size: calc(1.05rem * var(--sl-owner-scale) / 1.2);
  font-weight: 700;
  color: #1a3d5c;
}

.sl-owner-check-status{
  font-size: calc(.78rem * var(--sl-owner-scale) / 1.2);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: calc(.15rem * var(--sl-owner-scale) / 1.2) calc(.5rem * var(--sl-owner-scale) / 1.2);
  border-radius: .35rem;
  white-space: nowrap;
}

.sl-owner-check-status--ready{
  color: #0f5132;
  background: rgba(25, 135, 84, .12);
}

.sl-owner-check-status--needs_attention{
  color: #664d03;
  background: rgba(255, 193, 7, .16);
}

.sl-owner-check-status--action_required{
  color: #842029;
  background: rgba(220, 53, 69, .1);
}

.sl-owner-check-message{
  font-size: calc(1rem * var(--sl-owner-scale) / 1.2);
  line-height: 1.55;
  color: #2c2419;
}

.sl-owner-check-meta-label{
  font-weight: 700;
  color: #1a3d5c;
}

.sl-owner-check-why,
.sl-owner-check-next{
  font-size: calc(.98rem * var(--sl-owner-scale) / 1.2);
  line-height: 1.55;
  color: #4a5568;
}

@media (max-width: 575.98px){
  .sl-owner .btn,
  .sl-owner .form-control,
  .sl-owner .form-select{
    max-width: 100%;
  }
}

/* Landing page vertical rhythm (~12% tighter; font sizes unchanged) */
.sl-landing .sl-band:not(.sl-band--hero):not(.sl-band--cta){
  padding-top: clamp(2.1rem, 4.1vw, 3.75rem);
  padding-bottom: clamp(2.1rem, 4.1vw, 3.75rem);
}

.sl-landing .sl-band--hero{
  --sl-hero-wave-h: clamp(2.5rem, 3.8vw, 3.25rem);
  padding-top: clamp(2.45rem, 4.2vw, 3.45rem);
  padding-bottom: calc(clamp(1.75rem, 2.75vw, 2.35rem) + var(--sl-hero-wave-h));
}

.sl-landing .sl-band--cta{
  padding: clamp(3rem, 5.5vw, 4.85rem) 0;
}

.sl-landing .sl-wave{
  height: clamp(2.5rem, 3.8vw, 3.25rem);
}

.sl-landing .sl-prayer-life{
  padding-bottom: clamp(2.85rem, 5vw, 4.25rem);
}

.sl-landing .sl-prayer-life-intro{
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.sl-landing .sl-prayer-panels{
  gap: clamp(1.25rem, 2.5vw, 1.85rem);
  margin-bottom: clamp(1.75rem, 3.5vw, 2.35rem);
}

.sl-landing .sl-prayer-visual{
  aspect-ratio: 16 / 11;
}

.sl-landing .sl-section--steps{
  padding-top: 1.65rem;
  padding-bottom: 2rem;
}

.sl-landing .sl-section--benefits{
  padding-bottom: 2rem;
}

.sl-landing .sl-steps{
  gap: 1.25rem 1.65rem;
  margin-bottom: 1.25rem;
}

.sl-landing .sl-directory--featured{
  padding-top: clamp(2.35rem, 4.5vw, 3.25rem);
  padding-bottom: clamp(2.35rem, 4.5vw, 3.25rem);
}
