.servant-portrait { display: block; width: 100%; height: auto; border-radius: 12px; }
.team-profile { margin-top: 65px; display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.5fr); align-items: start; gap: clamp(40px, 7vw, 110px); }
.team-identity { min-width: 0; padding: 28px; background: #f3f6fa; border: 1px solid #e0e7f0; border-radius: 18px; }
.team-identity > .servants-kicker { margin-top: 28px; }
.team-identity h3 { margin: 12px 0 0; color: #17243a; font-size: 34px; letter-spacing: -.04em; }
.team-identity h3 small { color: #687586; font-size: 17px; }
.team-family { margin: 25px 0 0; padding-top: 20px; border-top: 1px solid #d1d8e1; }
.team-family > div { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; margin-top: 10px; font-size: 13px; line-height: 1.8; }
.team-family dt { color: #17243a; font-weight: 700; }
.team-family dd { margin: 0; color: #687586; word-break: keep-all; }
.team-biography { min-width: 0; }
.team-biography .career-group:first-child { padding-top: 0; }
@media (max-width: 800px) {
  .team-profile { grid-template-columns: 1fr; gap: 50px; }
  .team-identity { width: min(100%, 400px); margin: 0 auto; padding: 24px; }
}
.servants-page { background: #f3f5f7; }
.servants-page .site-header { background: rgba(255, 255, 255, 0.98); }
.servants-shell { width: min(100%, 1370px); margin: 0 auto; }
.servants-kicker { margin: 0; color: var(--blue-600); font-size: 11px; font-weight: 900; letter-spacing: 0.17em; }

.servants-hero { padding: calc(var(--header-height) + 48px) 24px 0; background: radial-gradient(circle at 88% 18%, rgba(47, 119, 207, 0.12), transparent 29%), linear-gradient(135deg, #fbfbfc 0%, #f4f7fb 100%); }
.servants-breadcrumb { display: flex; align-items: center; justify-content: center; gap: 11px; color: #8a929d; font-size: 13px; font-weight: 650; }
.servants-breadcrumb a, .servants-breadcrumb strong { display: inline-flex; align-items: center; gap: 7px; }
.servants-breadcrumb a { transition: color 0.2s; }
.servants-breadcrumb a:hover { color: var(--blue-700); }
.servants-breadcrumb strong { color: var(--ink); }
.servants-breadcrumb svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.servants-hero-grid { height: 360px; min-height: 360px; padding: 30px 0; display: flex; align-items: center; justify-content: center; }
.servants-hero-copy { display: flex; align-items: center; flex-direction: column; text-align: center; }
.servants-hero-copy .servants-kicker { margin-bottom: 16px; }
.servants-hero-copy > p:not(.servants-kicker) { margin: 20px 0 0; }
.servants-hero-copy > a { margin-top: 22px; }
.servants-hero-copy h1 { margin: 19px 0 0; color: #111b2c; font-size: clamp(62px, 6.5vw, 96px); font-weight: 860; line-height: 1.05; letter-spacing: -0.075em; }
.servants-hero-copy > p:not(.servants-kicker) { margin: 31px 0 0; color: #667181; font-size: 18px; line-height: 1.9; }
.servants-hero-copy > a { width: 186px; min-height: 57px; margin-top: 36px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: space-between; color: var(--white); background: var(--blue-700); border-radius: 8px; box-shadow: 0 14px 29px rgba(31, 95, 186, 0.2); font-size: 13px; font-weight: 800; transition: transform 0.2s; }
.servants-hero-copy > a:hover { transform: translateY(-3px); }

.servants-hero-visual { position: relative; height: 555px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 50% 45%, rgba(112, 173, 239, 0.22), transparent 27%), linear-gradient(145deg, #174f8a, #071d38 75%); border-radius: 28px; box-shadow: 0 35px 80px rgba(9, 36, 69, 0.19); }
.servants-hero-visual::before { content: ""; position: absolute; inset: 0; opacity: 0.14; background-image: radial-gradient(circle at 2px 2px, #fff 1px, transparent 0); background-size: 25px 25px; }
.servants-visual-label { position: absolute; z-index: 3; top: 48px; left: 48px; color: #8fc1ff; font-size: 8px; font-weight: 900; letter-spacing: 0.18em; }
.servants-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255, 255, 255, 0.13); border-radius: 50%; transform: translate(-50%, -50%); }
.servants-orbit.orbit-one { width: 260px; height: 260px; }
.servants-orbit.orbit-two { width: 410px; height: 410px; }
.servants-orbit.orbit-three { width: 570px; height: 570px; }
.servant-symbol { position: absolute; z-index: 2; top: 47%; left: 50%; width: 220px; height: 240px; transform: translate(-50%, -50%); }
.servant-symbol > span { position: absolute; top: 0; left: 50%; width: 88px; height: 88px; background: rgba(231, 241, 252, 0.16); border: 4px solid #e7f1fc; border-radius: 50%; transform: translateX(-50%); }
.servant-symbol > span::after { content: ""; position: absolute; top: 21px; left: 50%; width: 38px; height: 38px; background: #f2b758; border-radius: 50%; transform: translateX(-50%); }
.servant-symbol > i { position: absolute; top: 103px; left: 50%; width: 171px; height: 118px; background: rgba(231, 241, 252, 0.12); border: 4px solid #e7f1fc; border-bottom: 0; border-radius: 90px 90px 0 0; transform: translateX(-50%); }
.servant-symbol > b, .servant-symbol > b::after { position: absolute; z-index: 3; background: #f2b758; border-radius: 99px; }
.servant-symbol > b { top: 120px; left: 50%; width: 6px; height: 63px; transform: translateX(-50%); }
.servant-symbol > b::after { content: ""; top: 18px; left: 50%; width: 43px; height: 6px; transform: translateX(-50%); }
.servants-hero-visual > p { position: absolute; z-index: 3; right: 43px; bottom: 39px; margin: 0; color: rgba(255, 255, 255, 0.59); font-size: 12px; line-height: 1.7; text-align: right; }
.servants-hero-visual > small { position: absolute; z-index: 3; left: 46px; bottom: 42px; color: rgba(255, 255, 255, 0.44); font-size: 8px; font-weight: 850; letter-spacing: 0.14em; }

.pastor-profile { padding: 155px 24px 165px; background: #f2f4f6; }
.pastor-layout { display: grid; grid-template-columns: minmax(310px, 0.72fr) minmax(0, 1.5fr); align-items: start; gap: clamp(65px, 8vw, 125px); }
.pastor-card { position: sticky; top: 118px; padding: 38px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 100% 0, rgba(104, 168, 239, 0.27), transparent 34%), linear-gradient(145deg, #174f8b, #082440); border-radius: 18px; box-shadow: 0 24px 60px rgba(10, 38, 70, 0.16); }
.pastor-card::after { content: "PASTOR"; position: absolute; right: -13px; bottom: -24px; color: rgba(255, 255, 255, 0.035); font-size: 95px; font-weight: 900; line-height: 1; }
.pastor-monogram { position: relative; height: 350px; display: grid; place-items: center; background: rgba(4, 25, 49, 0.25); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 13px; }
.pastor-monogram::before, .pastor-monogram::after { content: ""; position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 50%; transform: translate(-50%, -50%); }
.pastor-monogram::before { width: 215px; height: 215px; }
.pastor-monogram::after { width: 295px; height: 295px; }
.pastor-monogram span { position: relative; z-index: 2; color: #f2b758; font-family: Georgia, serif; font-size: 78px; letter-spacing: -0.07em; }
.pastor-monogram i, .pastor-monogram i::after { position: absolute; z-index: 3; background: #eaf3fc; border-radius: 99px; }
.pastor-monogram i { top: 54px; right: 56px; width: 4px; height: 38px; }
.pastor-monogram i::after { content: ""; top: 11px; left: 50%; width: 27px; height: 4px; transform: translateX(-50%); }
.pastor-card > p { position: relative; z-index: 1; margin: 33px 0 0; color: #8fc1ff; font-size: 8px; font-weight: 900; letter-spacing: 0.16em; }
.pastor-card h2 { position: relative; z-index: 1; margin: 12px 0 0; font-size: 38px; letter-spacing: -0.05em; }
.pastor-card h2 small { color: rgba(255, 255, 255, 0.65); font-size: 17px; }
.pastor-card > span { position: relative; z-index: 1; margin-top: 9px; display: block; color: rgba(255, 255, 255, 0.58); font-size: 12px; }

.pastor-resume-heading { padding-bottom: 55px; border-bottom: 1px solid #cfd6df; }
.pastor-resume-heading h2 { margin: 17px 0 0; color: #111b2c; font-size: clamp(43px, 4.2vw, 61px); line-height: 1.28; letter-spacing: -0.065em; }
.career-group { padding-top: 74px; }
.career-group + .career-group { margin-top: 75px; border-top: 1px solid #cfd6df; }
.career-group > header { display: grid; grid-template-columns: 51px 1fr; gap: 18px; }
.career-group > header > span { width: 45px; height: 45px; display: grid; place-items: center; color: var(--white); background: var(--blue-700); border-radius: 10px; font-size: 12px; font-weight: 900; }
.career-group header small { color: var(--blue-600); font-size: 8px; font-weight: 900; letter-spacing: 0.13em; }
.career-group h3 { margin: 7px 0 0; color: #17243a; font-size: 28px; letter-spacing: -0.045em; }
.career-group ol { margin: 35px 0 0; padding: 0; list-style: none; border-top: 2px solid #263447; }
.career-group li { min-height: 0; padding: 12px 7px; display: grid; grid-template-columns: minmax(190px, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: 25px; border-bottom: 1px solid #d1d8e1; }
.career-group li > span { color: #17243a; font-size: 16px; font-weight: 850; }
.career-group li p { margin: 0; color: #687586; font-size: 14px; line-height: 1.7; }
.career-group li em { margin-right: 7px; padding: 4px 7px; color: var(--blue-700); background: #e4effc; border-radius: 5px; font-size: 9px; font-style: normal; font-weight: 900; }

.servants-team { padding: 155px 24px; background: var(--white); }
.servants-team-heading { text-align: center; }
.servants-team-heading h2 { margin: 16px 0 0; color: #111b2c; font-size: clamp(49px, 5vw, 70px); line-height: 1.2; letter-spacing: -0.065em; }
.servants-team-heading > p:not(.servants-kicker) { margin: 23px 0 0; color: #728092; font-size: 15px; }
.servant-placeholder { min-height: 285px; margin-top: 65px; padding: 43px 48px; display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 43px; background: #f7f9fb; border: 1px dashed #bac8d8; border-radius: 16px; }
.servant-placeholder > div { width: 124px; height: 124px; display: grid; place-items: center; color: var(--blue-600); background: #eaf2fc; border-radius: 50%; }
.servant-placeholder > div span { font-size: 40px; font-weight: 300; }
.servant-placeholder section small { color: var(--blue-600); font-size: 8px; font-weight: 900; letter-spacing: 0.14em; }
.servant-placeholder h3 { margin: 9px 0 0; color: #17243a; font-size: 30px; letter-spacing: -0.045em; }
.servant-placeholder p { margin: 13px 0 0; color: #738091; font-size: 14px; }
.servant-placeholder > em { color: #9ba6b2; font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: 0.14em; }

@media (max-width: 1080px) {
  .servants-hero-grid { grid-template-columns: 0.88fr 1.12fr; gap: 50px; }
  .pastor-layout { grid-template-columns: 285px minmax(0, 1fr); gap: 55px; }
  .career-group li { grid-template-columns: 1fr; gap: 7px; }
}

@media (max-width: 820px) {
  .servants-hero { padding-right: 20px; padding-left: 20px; }
  .servants-breadcrumb { justify-content: flex-start; }
  .servants-hero-grid { height: auto; min-height: 330px; padding: 42px 0 56px; grid-template-columns: 1fr; gap: 55px; }
  .servants-hero-copy { display: flex; text-align: center; }
  .servants-hero-copy h1 br, .servants-hero-copy > p br { display: none; }
  .servants-hero-visual { width: min(100%, 620px); height: 500px; margin: 0 auto; }
  .pastor-layout { grid-template-columns: 1fr; gap: 70px; }
  .pastor-card { position: static; width: min(100%, 480px); margin: 0 auto; }
  .servant-placeholder { grid-template-columns: 110px 1fr; gap: 30px; }
  .servant-placeholder > div { width: 105px; height: 105px; }
  .servant-placeholder > em { grid-column: 2; }
}

@media (max-width: 620px) {
  .servants-hero { padding-top: calc(var(--header-height) + 38px); padding-bottom: 0; }
  .servants-breadcrumb { font-size: 12px; }
  .servants-hero-grid { padding-top: 48px; }
  .servants-hero-copy h1 { font-size: clamp(55px, 16vw, 76px); }
  .servants-hero-copy > p:not(.servants-kicker) { font-size: 15px; }
  .servants-hero-visual { height: 420px; border-radius: 18px; }
  .servants-visual-label { top: 30px; left: 28px; }
  .servants-orbit.orbit-one { width: 220px; height: 220px; }
  .servants-orbit.orbit-two { width: 330px; height: 330px; }
  .servants-orbit.orbit-three { width: 450px; height: 450px; }
  .servant-symbol { transform: translate(-50%, -50%) scale(0.82); }
  .servants-hero-visual > p { right: 25px; bottom: 25px; font-size: 10px; }
  .servants-hero-visual > small { left: 27px; bottom: 27px; }
  .pastor-profile { padding: 105px 20px 115px; }
  .pastor-card { padding: 24px; }
  .pastor-monogram { height: 295px; }
  .pastor-resume-heading h2 { font-size: 39px; }
  .career-group { padding-top: 58px; }
  .career-group + .career-group { margin-top: 60px; }
  .career-group > header { grid-template-columns: 42px 1fr; gap: 12px; }
  .career-group > header > span { width: 39px; height: 39px; }
  .career-group h3 { font-size: 24px; }
  .career-group li { min-height: 0; padding: 12px 4px; grid-template-columns: 1fr; gap: 8px; }
  .career-group li > span { font-size: 15px; }
  .career-group li p { font-size: 13px; }
  .servants-team { padding: 105px 20px; }
  .servants-team-heading h2 { font-size: 40px; }
  .servants-team-heading > p:not(.servants-kicker) { font-size: 14px; line-height: 1.8; }
  .servant-placeholder { padding: 31px 25px; grid-template-columns: 1fr; gap: 23px; text-align: center; }
  .servant-placeholder > div { margin: 0 auto; }
  .servant-placeholder > em { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .servants-hero-copy > a, .servants-breadcrumb a { transition: none; }
}
