/* Shared program typography, full-bleed ministry photography, and a readable field journey. */
.journey-program-page .journey-page{background:var(--op-paper);padding-bottom:0}
.journey-program-page .journey-page h2{font:700 clamp(32px,3.6vw,50px)/1.15 'Inter',Arial,sans-serif;letter-spacing:-.035em;margin:0 0 26px}
.journey-program-page .journey-page p{font:400 17px/1.8 'Inter',Arial,sans-serif;color:var(--op-muted)}
.journey-program-page .journey-page .op-eyebrow{font-size:12px!important;line-height:1.5;font-weight:800}
.journey-program-page .op-detail-hero{min-height:540px;display:flex;align-items:end}
.journey-program-page .op-detail-hero:after{background:linear-gradient(0deg,rgba(26,40,51,.86),rgba(26,40,51,.22))}
.journey-program-page .op-detail-hero h1{max-width:840px}
.journey-program-page .op-detail-hero .op-wrap{position:relative;z-index:2}
.journey-program-page .op-detail-hero .op-eyebrow{color:#ffae66!important}
.journey-program-page .journey-overview{display:block;padding-block:70px}
.journey-program-page .journey-overview>div{max-width:800px}
.journey-program-page .journey-overview>div>p:not(.op-eyebrow){margin-bottom:30px}
.journey-stage{padding-block:76px;border-top:1px solid var(--op-line)}
.journey-stage-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.journey-stage-heading{align-self:start}
.journey-stage-number{display:block;font:700 14px/1 'Inter',Arial,sans-serif;color:var(--op-accent);letter-spacing:.12em;margin:0 0 22px}
.journey-program-page .journey-stage-heading h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:20px}
.journey-program-page .journey-stage-heading p{font-size:14px;line-height:1.8;max-width:290px}
.journey-chapter-body{min-width:0}
.journey-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;padding:28px 0;border-bottom:1px solid var(--op-line)}
.journey-step:first-child{padding-top:0}
.journey-step:last-child{padding-bottom:0;border-bottom:0}
.journey-step-symbol{color:var(--op-accent);padding-top:5px}
.journey-step-symbol svg{width:24px;height:24px}
.journey-program-page .journey-step h3{font:700 24px/1.3 'Inter',Arial,sans-serif;letter-spacing:-.02em;margin:0 0 16px}
.journey-program-page .journey-step p{margin:0 0 18px}
.journey-program-page .journey-step p:last-child{margin-bottom:0}
.journey-full-photo,.journey-film{position:relative;width:100%;margin:0;overflow:hidden;background:#1a2833;aspect-ratio:2.7/1}
.journey-full-photo>img,.journey-film>img,.journey-film>video{display:block;width:100%;height:100%;object-fit:cover}
.journey-film>video{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.journey-film.is-playing>video{opacity:1}
.journey-film figcaption{position:absolute;inset:auto 0 0;padding:36px max(28px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(transparent,#1a2833c9);font-size:15px;line-height:1.5}
.journey-film-toggle{border:1px solid #ffffffa3;background:#1a2833b3;color:#fff;border-radius:24px;min-height:44px;padding:10px 18px;font:700 12px/1.3 'Inter',Arial,sans-serif;white-space:nowrap;cursor:pointer}
.journey-film-toggle[hidden]{display:none}
.journey-program-page .journey-options-section{padding-block:76px;border-top:1px solid var(--op-line)}
.journey-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.journey-option{background:#fff;border:1px solid var(--op-line);border-radius:18px;overflow:hidden}
.journey-option>summary{cursor:pointer;list-style:none}
.journey-option>summary::-webkit-details-marker{display:none}
.journey-option-photo{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.journey-option-label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px}
.journey-program-page .journey-option h3{font-size:24px;line-height:1.25;letter-spacing:-.02em;margin:0}
.journey-option-plus{font:400 25px/1 'Inter',Arial,sans-serif;color:var(--op-accent);transition:transform .2s}
.journey-option[open] .journey-option-plus{transform:rotate(45deg)}
.journey-option-body{padding:0 24px 26px}
.journey-program-page .journey-option p{font-size:16px;line-height:1.75;margin:0 0 20px}
.journey-option-body a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;color:var(--op-accent);text-decoration:underline;text-underline-offset:4px}
.journey-program-page .journey-final{padding-block:60px 90px;text-align:center;border-top:1px solid var(--op-line)}
.journey-final small{display:block;font-size:12px;line-height:1.6;margin-top:15px;color:var(--op-muted)}
.journey-program-page .journey-page :is(a,button,summary):focus-visible{outline:2px solid var(--op-accent);outline-offset:4px}
@media(max-width:900px){.journey-program-page .journey-overview{gap:36px}.journey-stage-layout{gap:40px;grid-template-columns:.75fr 1.25fr}.journey-options-grid{gap:16px}.journey-option-label{padding:20px}.journey-option-body{padding:0 20px 22px}.journey-program-page .journey-option h3{font-size:22px}}
@media(max-width:650px){.journey-program-page .op-detail-hero{min-height:440px}.journey-program-page .op-detail-hero>.op-wrap{padding-block:100px 54px}.journey-program-page .journey-overview{grid-template-columns:1fr;gap:36px;padding-block:48px}.journey-program-page .journey-at-glance{padding:26px}.journey-program-page .journey-at-glance h2{font-size:27px}.journey-stage{padding-block:48px}.journey-stage-layout{grid-template-columns:1fr;gap:30px}.journey-program-page .journey-stage-heading h2{font-size:40px;margin-bottom:15px}.journey-program-page .journey-stage-heading p{max-width:none;margin-bottom:0}.journey-stage-number{margin-bottom:16px}.journey-step{grid-template-columns:24px minmax(0,1fr);gap:14px}.journey-program-page .journey-step h3{font-size:23px}.journey-program-page .journey-page p{font-size:17px;line-height:1.8}.journey-full-photo,.journey-film{aspect-ratio:4/3}.journey-film figcaption{padding:30px 24px 20px;font-size:13px}.journey-film-toggle{padding-inline:12px}.journey-options-grid{grid-template-columns:1fr;gap:26px}.journey-program-page .journey-options-section{padding-block:48px}.journey-program-page .journey-final{padding-block:48px 60px}.journey-program-page .journey-page{padding-bottom:125px}}
@media(prefers-reduced-motion:reduce){.journey-film>video{transition:none}}
@media print{.journey-film-toggle,.op-mobile-sticky{display:none!important}.journey-page details>*:not(summary){display:block!important}.journey-stage-layout{display:block}.journey-stage{break-inside:avoid}.journey-program-page .journey-page{padding-bottom:0}}

/* Continuous timeline passes behind full-bleed stage photography. */
.journey-flow{position:relative;isolation:isolate}
.journey-flow:before,.journey-flow:after{content:"";position:absolute;left:calc(max(48px,(100% - 900px)/2) + 13px);top:var(--journey-start,0px);width:2px;pointer-events:none;z-index:0}
.journey-flow:before{height:var(--journey-length,0px);background:var(--op-line)}
.journey-flow:after{height:var(--journey-progress,0px);background:var(--op-accent)}
.journey-program-page .journey-stage{position:relative;padding:0;border:0}
.journey-program-page .journey-stage-layout{position:relative;display:block;width:min(900px,calc(100% - 96px));padding-block:56px 72px;z-index:1}
.journey-chapter-body{position:relative;isolation:isolate}
.journey-chapter-body:before,.journey-chapter-body:after{content:none}
.journey-step-symbol{display:block;position:relative;width:28px;height:28px;padding:0;border:2px solid var(--op-line);border-radius:50%;background:var(--op-paper)}
.journey-step-symbol svg{display:none}
.journey-step.is-reached .journey-step-symbol{border-color:var(--op-accent);background:var(--op-accent);box-shadow:inset 0 0 0 6px var(--op-paper)}
.journey-stage-photo{position:relative;z-index:2;isolation:isolate;display:flex;align-items:flex-end;min-height:440px;background:#1a2833;overflow:hidden}
.journey-stage-photo>img,.journey-stage-photo>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.journey-stage-photo:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(26,40,51,.9),rgba(26,40,51,.4) 55%,rgba(26,40,51,.12))}
.journey-program-page .journey-stage-heading{position:relative;padding-block:80px 56px}
.journey-program-page .journey-stage-heading h2{color:#fff;max-width:900px;font-size:clamp(40px,4.5vw,64px)}
.journey-program-page .journey-stage-heading p{color:#fff;max-width:800px;font-size:17px;line-height:1.7;margin:0}
.journey-stage-photo .journey-stage-number{color:#ffae66}
.journey-program-page .journey-stage-photo.journey-film{aspect-ratio:auto;margin:0}
.journey-stage-photo.journey-film>video{z-index:-2}
.journey-stage-photo .journey-film-toggle{position:absolute;right:max(28px,calc((100% - 1240px)/2));top:24px}
@media(max-width:650px){.journey-program-page .journey-stage-layout{width:calc(100% - 48px);padding-block:40px 56px}.journey-flow:before,.journey-flow:after{left:37px}.journey-step{grid-template-columns:28px minmax(0,1fr)}.journey-stage-photo{min-height:360px}.journey-program-page .journey-stage-heading{padding-block:80px 36px}.journey-program-page .journey-stage-heading h2{font-size:40px}.journey-program-page .journey-stage-heading p{font-size:16px}.journey-stage-photo .journey-film-toggle{right:24px;top:18px}}
@media print{.journey-flow:after{height:var(--journey-length)}.journey-stage-photo{min-height:260px}.journey-step-symbol{border-color:var(--op-accent)}}

/* Compact editorial titles; the line carries on beyond the final paragraph. */
.journey-program-page .journey-stage-photo{min-height:350px}
.journey-program-page .journey-stage-heading{display:flex;align-items:center;gap:22px;width:min(900px,calc(100% - 96px));padding-block:100px 44px}
.journey-program-page .journey-stage-heading h2{font-size:clamp(38px,4.2vw,56px);line-height:1.12;margin:0;letter-spacing:-.035em}
.journey-stage-heading .journey-stage-number{display:flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;margin:0;border:1px solid #ffffff7a;border-radius:50%;color:#fff;font:700 12px/1 'Inter',Arial,sans-serif;letter-spacing:.06em}
.journey-stage-photo .journey-film-toggle{top:auto;bottom:22px;right:24px;min-height:36px;padding:8px 13px;font-size:11px;background:#1a283366}
.journey-continuation{height:64px}
.journey-flow:before,.journey-flow:after{mask-image:linear-gradient(to bottom,#000 calc(var(--journey-length) - 56px),transparent var(--journey-length))}
@media(max-width:650px){.journey-program-page .journey-stage-photo{min-height:300px}.journey-program-page .journey-stage-heading{width:calc(100% - 48px);gap:15px;padding-block:95px 54px}.journey-program-page .journey-stage-heading h2{font-size:36px}.journey-stage-heading .journey-stage-number{flex-basis:32px;height:32px;font-size:10px}.journey-stage-photo .journey-film-toggle{bottom:12px;right:18px;min-height:32px;font-size:10px}.journey-continuation{height:48px}}

/* Photography moves gently behind the normally scrolling text overlays. */
.journey-program-page .journey-stage-photo>img,.journey-program-page .op-detail-hero-image{inset:-18% 0 auto;width:100%;height:136%;transform:translate3d(0,var(--journey-photo-shift,0px),0);will-change:transform}
.journey-program-page .journey-stage-heading{padding-bottom:44px}
.journey-program-page .journey-reveal{opacity:1;transition:opacity .7s ease;transform:none!important}
.journey-program-page .journey-reveal.is-pending{opacity:0}
@media(max-width:650px){.journey-program-page .journey-stage-heading{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){.journey-program-page .journey-stage-photo>img,.journey-program-page .op-detail-hero-image{transform:none;will-change:auto}.journey-program-page .journey-reveal{opacity:1!important;transition:none}}
@media print{.journey-program-page .journey-reveal{opacity:1!important}.journey-program-page .journey-stage-photo>img,.journey-program-page .op-detail-hero-image{transform:none}}

/* Anchor stage titles to the lower edge rather than the inherited start alignment. */
.journey-program-page .journey-stage-photo>.journey-stage-heading{align-self:flex-end;margin-block:0;padding-top:0;padding-bottom:36px}
.journey-program-page .op-detail-hero-image{object-position:62% center}
@media(max-width:650px){.journey-program-page .journey-stage-photo>.journey-stage-heading{padding-top:0;padding-bottom:28px}.journey-program-page .op-detail-hero-image{object-position:64% center}}

/* Four distinct entry points; shared first-term development. */
.journey-program-page .op-detail-hero{min-height:650px}
.journey-program-page .op-detail-hero h1{max-width:1000px;font-size:clamp(44px,5.5vw,76px);line-height:1.05}
.journey-program-page .journey-hero-lead{color:#fff;font-size:clamp(21px,2.1vw,28px);line-height:1.45;max-width:780px;margin:24px 0 14px}
.journey-program-page .journey-hero-copy{color:#f0f2f3;max-width:740px;line-height:1.7;margin:0 0 28px}
.journey-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.journey-program-page .journey-actions .op-btn{white-space:nowrap;background:#c65300;color:#fff;border:1px solid #c65300}
.journey-program-page .journey-actions .journey-secondary{background:transparent;color:var(--op-navy);border-color:var(--op-navy)}
.journey-program-page .op-detail-hero .journey-secondary{color:#fff;border-color:#ffffffa0}
.journey-program-page .journey-hero-scroll{display:inline-block;color:#fff;font-size:14px;text-underline-offset:5px;padding:20px 0 0;min-height:44px}
.journey-starting{padding-block:76px}
.journey-section-intro{max-width:780px;margin-bottom:36px}
.journey-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.journey-start-card{display:flex;flex-direction:column;min-width:0;padding:32px;background:#fff;border:1px solid var(--op-line);border-radius:12px;border-top:3px solid var(--op-accent)}
.journey-program-page .journey-start-card h3{font-size:30px;line-height:1.15;letter-spacing:-.025em;margin:2px 0 14px}
.journey-program-page .journey-start-card .op-eyebrow{color:#a74700;margin:0 0 14px}
.journey-program-page .journey-start-card .journey-duration{font-size:13px;font-weight:700;line-height:1.5;color:var(--op-navy);padding-bottom:22px;margin:0 0 24px;border-bottom:1px solid var(--op-line)}
.journey-program-page .journey-start-card .journey-voice{font-weight:700;color:var(--op-navy);font-size:20px;line-height:1.5;margin:0 0 14px}
.journey-program-page .journey-start-card>p:not(.op-eyebrow):not(.journey-duration):not(.journey-voice){font-size:16px;line-height:1.75;margin:0 0 20px}
.journey-text-link{display:inline-flex;align-items:center;align-self:flex-start;gap:12px;min-height:44px;color:#a74700;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.journey-start-card>.journey-text-link{margin-top:auto}
.journey-text-link svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}
.journey-flexibility{margin-top:32px;border-left:3px solid var(--op-accent);padding:10px 0 10px 28px;max-width:1000px}
.journey-program-page .journey-flexibility h3{font-size:26px;line-height:1.3;letter-spacing:-.02em;margin:0 0 16px}
.journey-program-page .journey-flexibility p{margin:0 0 14px}
.journey-program-page .journey-flexibility .journey-cohort-note{font-size:15px;margin:0}
.journey-program-page #long-term-journey{border-top:1px solid var(--op-line);padding-top:70px}
.journey-program-page #long-term-journey>div{max-width:920px}
.journey-program-page .journey-scope-note{font-size:15px;border-top:1px solid var(--op-line);padding-top:22px}
.journey-scope-note a{color:#a74700;text-underline-offset:4px}
.journey-support-section{background:#1a2833;padding-block:72px}
.journey-program-page .journey-support-section h2,.journey-program-page .journey-support-section h3{color:#fff}
.journey-program-page .journey-support-section p{color:#dce2e5}
.journey-program-page .journey-support-section .op-eyebrow,.journey-support-section .journey-text-link{color:#ffae66}
.journey-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 20px}
.journey-support-grid article{border-top:1px solid #ffffff50;padding-top:24px}
.journey-support-grid h3{font-size:24px;line-height:1.3;margin:0 0 16px}
.journey-program-page .journey-support-grid p{font-size:16px}
.journey-program-page .journey-final{padding-block:80px;max-width:900px}
.journey-final .journey-actions{justify-content:center;margin-top:28px}
.journey-final>p:not(.op-eyebrow){max-width:700px;margin-inline:auto}
.journey-program-page [id]{scroll-margin-top:180px}
.journey-anchor{display:block;position:relative}
@media(max-width:700px){
 .journey-program-page .op-detail-hero{min-height:620px}
 .journey-program-page .op-detail-hero>.op-wrap{padding-block:70px 40px}
 .journey-program-page .op-detail-hero h1{font-size:clamp(40px,10vw,58px)}
 .journey-program-page .journey-hero-lead{font-size:22px}
 .journey-program-page .journey-hero-copy{font-size:16px}
 .journey-starting{padding-block:48px}
 .journey-start-grid{grid-template-columns:1fr;gap:20px}
 .journey-start-card{padding:26px 24px}
 .journey-program-page .journey-start-card h3{font-size:28px}
 .journey-flexibility{padding-left:20px}
 .journey-program-page .journey-flexibility h3{font-size:24px}
 .journey-support-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}
 .journey-support-section{padding-block:48px}
 .journey-program-page .journey-final{padding-block:48px}
 .journey-program-page .journey-page{padding-bottom:0}
 .journey-actions .op-btn{font-size:12px;padding-inline:18px;min-height:48px}
 .journey-program-page .op-detail-hero .journey-actions{justify-content:flex-start}
 .journey-program-page .journey-stage-photo{min-height:240px}
}

.journey-program-page .journey-actions .journey-secondary{color:var(--op-navy)!important}
.journey-program-page .op-detail-hero .journey-secondary{color:#fff!important}
.journey-program-page .journey-start-card .op-eyebrow{color:#a74700!important}
.journey-program-page .journey-support-section .op-eyebrow{color:#ffae66!important}
/* Keep hero copy readable over photography despite shared paragraph styles. */
.journey-program-page .journey-page .op-detail-hero p.journey-hero-lead{color:#fff!important;font-size:clamp(21px,2.1vw,28px);line-height:1.45}
.journey-program-page .journey-page .op-detail-hero p.journey-hero-copy{color:#f0f2f3!important}
