/* Precision layer: retains the approved composition, palette and content. */
:root{--ease-refined:cubic-bezier(.22,1,.36,1);--control-radius:3px}
.button{position:relative;isolation:isolate;overflow:hidden;padding:7px 7px 7px 23px;gap:25px;min-height:58px;border-radius:var(--control-radius);border:1px solid #2454f4;background:var(--blue);color:white;box-shadow:0 1px 2px #0001,inset 0 1px 0 #ffffff20;transition:background 180ms ease,box-shadow 220ms ease,transform 180ms var(--ease-refined)}
.button:before{content:'';position:absolute;inset:0;z-index:-1;background:#080808;transform:translateY(101%);transition:transform 380ms var(--ease-refined)}
.button .button-label{font-size:13px;line-height:1.4;letter-spacing:.005em;transform:none!important}
.button .button-icon{position:relative;display:block;flex:0 0 42px;width:42px;height:42px;overflow:hidden;background:#ffffff18;border:1px solid #ffffff20;border-radius:2px;transform:none!important;transition:background 180ms ease}
.button-icon svg{position:absolute;width:20px;height:20px;left:10px;top:10px;transition:transform 380ms var(--ease-refined),opacity 220ms ease}
.button-icon svg+svg{transform:translate(-30px,30px);opacity:0}
.button:hover,.button:focus-visible{background:var(--blue);box-shadow:0 8px 20px #00000014;transform:translateY(-1px);color:white}
.button:hover:before,.button:focus-visible:before{transform:translateY(0)}
.button:hover .button-icon svg:first-child,.button:focus-visible .button-icon svg:first-child{transform:translate(30px,-30px);opacity:0}
.button:hover .button-icon svg+svg,.button:focus-visible .button-icon svg+svg{transform:translate(0,0);opacity:1}
.button:active{transform:translateY(1px);box-shadow:0 1px 2px #0001}
.button.white{border-color:white;color:#080808;background:white}.button.white:before{background:var(--blue)}.button.white .button-icon{background:#08080808;border-color:#08080815}.button.white:hover,.button.white:focus-visible{color:white}.button.white:hover .button-icon{background:#ffffff18;border-color:#ffffff20}
.header-cta{min-height:46px;padding:5px 5px 5px 17px;gap:21px}.header-cta .button-label{font-size:12px}.header-cta .button-icon{width:34px;height:34px;flex-basis:34px}.header-cta .button-icon svg{width:18px;height:18px;top:7px;left:7px}
:where(a,button,summary):focus-visible{outline:2px solid var(--blue);outline-offset:5px}.button:focus-visible{outline-offset:4px}.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease-refined)}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}
.quiet-link{position:relative;border-bottom-color:#b0b0b0;padding-bottom:9px;transition:color 180ms ease}.quiet-link:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 280ms var(--ease-refined)}.quiet-link:hover:after,.quiet-link:focus-visible:after{transform:scaleX(1)}
.service-row{position:relative;transition:background 220ms ease,padding 240ms var(--ease-refined)}.service-row:hover{background:#2454f405}.service-row:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 380ms var(--ease-refined)}.service-row:hover:after,.service-row:focus-visible:after{transform:scaleX(1)}
.resource-list a{transition:padding 220ms var(--ease-refined),background 220ms ease}.resource-list a:hover{padding-left:14px;background:#2454f405}.resource-list a>b{transition:transform 220ms var(--ease-refined)}.resource-list a:hover>b{transform:translate(3px,-3px)}
.pastor-select button{position:relative}.pastor-select button:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 360ms var(--ease-refined)}.pastor-select button[aria-pressed=true]:after{transform:scaleX(1)}
.film-play{box-shadow:0 0 0 1px #ffffff50,0 4px 20px #0002;transition:transform 220ms var(--ease-refined),box-shadow 220ms ease}.pastor-media:hover .film-play{box-shadow:0 0 0 8px #2454f425,0 6px 24px #0002;transform:scale(1.04)}
.hero-photo{overflow:hidden}.hero-photo>img{animation:portrait-arrive 850ms var(--ease-refined) both}.hero-copy>.eyebrow,.hero-copy>h1,.hero-kicker,.hero-description,.hero-actions{animation:type-arrive 650ms var(--ease-refined) both}.hero-copy>h1{animation-delay:60ms}.hero-kicker{animation-delay:110ms}.hero-description{animation-delay:150ms}.hero-actions{animation-delay:190ms}
@keyframes portrait-arrive{from{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes type-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.menu{min-height:40px}.menu span{transition:transform 220ms var(--ease-refined)}.menu[aria-expanded=true] span{transform:rotate(45deg)}.close{min-height:40px;padding:6px 12px;border:1px solid #ffffff40;border-radius:2px}.close:hover{background:#ffffff18}dialog[open]{animation:dialog-arrive 220ms var(--ease-refined)}@keyframes dialog-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.button{gap:18px}.button .button-label{font-size:12px}.site-header nav.open{animation:dialog-arrive 200ms var(--ease-refined)}.pastor-select button:after{bottom:0}.hero-photo>img{animation:none}}
@media(hover:none){.button:hover{transform:none}.service-row:hover{padding-left:0;padding-right:0}.resource-list a:hover{padding-left:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-photo>img{transform:none}.button:hover{transform:none}}
/* A personal partner, presented as a story rather than a credentials block. */
.partner-feature{padding:85px var(--g) 60px;background:#080808;color:#fff}.partner-heading{max-width:1120px;margin-bottom:58px}.partner-heading .eyebrow{color:#8ba5ff;margin-bottom:24px}.partner-heading h2{font-size:clamp(43px,5.8vw,86px);line-height:1.08;letter-spacing:-.05em}.partner-heading h2>span{color:#a9a9a9}.partner-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,8vw,130px);align-items:start}.partner-portrait{max-width:430px;position:relative;margin:0;padding-left:14px;border-left:2px solid var(--blue)}.partner-portrait>img{width:100%;height:455px;object-fit:cover;object-position:50% 20%;filter:grayscale(1)}.partner-portrait figcaption{display:flex;flex-direction:column;padding:20px 0;gap:4px}.partner-portrait strong{font-size:24px;font-weight:500;letter-spacing:-.03em}.partner-portrait figcaption>span{font-size:9px;letter-spacing:.13em;color:#aaa}.partner-letter{max-width:560px}.partner-letter p{font-size:17px;line-height:1.85;color:#bcbcbc;margin-bottom:19px}.partner-letter p.partner-lead{font-size:clamp(25px,2.5vw,34px);line-height:1.35;letter-spacing:-.03em;color:#fff;margin-bottom:25px}.partner-signoff{display:flex;align-items:center;gap:28px;margin:30px 0}.partner-signoff img{width:150px;height:60px;object-fit:contain;filter:invert(1)}.partner-signoff>span{border-left:1px solid #444;padding-left:25px;font-size:11px;line-height:1.8;color:#aaa}.partner-letter .button{margin-top:0}.partner-endorsement{display:grid;grid-template-columns:45px 1.4fr .7fr;gap:25px;margin-top:60px;padding:36px 0;border-top:1px solid #363636}.partner-quote-mark{font-size:70px;color:#7895ff;line-height:1}.partner-endorsement blockquote{font-size:21px;line-height:1.55;letter-spacing:-.015em;max-width:650px}.partner-endorsement>div{align-self:center;padding-left:35px;display:flex;flex-direction:column;gap:5px}.partner-endorsement strong{font-size:14px;font-weight:500}.partner-endorsement div>span{font-size:11px;color:#999}.partner-endorsement a{font-size:11px;color:#a9baff;margin-top:12px}.partner-feature .numbers{border-color:#363636;padding-top:30px;margin-top:10px}.partner-feature .numbers b{font-size:clamp(48px,5vw,72px)}.partner-feature .numbers p{color:#aaa;font-size:11px}
@media(max-width:800px){.partner-feature{padding:55px var(--g) 45px}.partner-heading{margin-bottom:35px}.partner-heading h2{font-size:43px}.partner-story{grid-template-columns:1fr;gap:25px}.partner-portrait{max-width:100%;padding-left:10px}.partner-portrait>img{height:380px;object-position:50% 24%}.partner-portrait figcaption{padding:15px 0}.partner-letter p{font-size:16px}.partner-letter p.partner-lead{font-size:29px}.partner-signoff{gap:18px}.partner-signoff img{width:125px}.partner-signoff>span{padding-left:18px;font-size:10px}.partner-endorsement{grid-template-columns:25px 1fr;gap:12px;margin-top:40px;padding-top:28px}.partner-quote-mark{font-size:48px}.partner-endorsement blockquote{font-size:19px}.partner-endorsement>div{grid-column:2;padding:12px 0 0}.partner-feature .numbers{gap:16px}.partner-feature .numbers b{font-size:48px}.partner-feature .numbers p{font-size:10px}}
