
:root { --navy:#1a1a1a; --navy-deep:#131313; --cream:#f0f0f0; --ink:#212121; --muted:#646464; --gold:#c0c0c0; --line:#d7d7d7; color-scheme:light; }
@theme inline { --color-background:var(--cream); --color-foreground:var(--ink); --color-card:#ffffff; --color-card-foreground:var(--ink); --color-primary:var(--navy); --color-primary-foreground:#ffffff; --color-border:var(--line); --color-input:var(--line); --color-ring:var(--gold); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif; word-break:keep-all; }
a { color:inherit; text-decoration:none; }
button,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,textarea:focus-visible { outline:2px solid #8d8d8d; outline-offset:4px; }
::selection { background:#a9a9a9; color:#1a1a1a; }

.intro { min-height:100svh; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(ellipse at 58% 46%,#2b2b2b 0%,#1c1c1c 43%,#121212 100%); color:#f6f6f6; }
.intro::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image:linear-gradient(90deg,transparent 49.9%,#8e8e8e 50%,transparent 50.1%),linear-gradient(transparent 49.9%,#8e8e8e 50%,transparent 50.1%); background-size:112px 112px; mask-image:linear-gradient(90deg,transparent,#000000 50%,transparent); }
.intro-glow { position:absolute; width:min(85vw,1000px); height:250px; left:50%; top:50%; transform:translate(-50%,-30%) rotate(-9deg); background:#9c9c9c; filter:blur(145px); opacity:.15; }
.intro-kicker,.intro-index { position:absolute; z-index:2; margin:0; letter-spacing:.25em; color:#bcbcbc; font-size:.7rem; font-weight:600; }
.intro-kicker { top:48px; left:5.5vw; }.intro-index { bottom:41px; left:5.5vw; }
.intro-center { position:relative; z-index:2; width:min(1100px,89vw); transform:translateY(-12px); text-align:center; }
.intro-wordmark { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:.91; letter-spacing:-.075em; font-size:clamp(5.2rem,15vw,13.2rem); }
.intro-wordmark span { display:block; }.intro-wordmark span+span { font-size:.67em; letter-spacing:-.052em; margin-top:.12em; }
.intro-rule { height:1px; background:#636363; width:min(700px,90%); margin:clamp(30px,5vw,54px) auto 0; overflow:hidden; }
.intro-rule span { display:block; height:100%; width:100%; transform-origin:left center; background:#d8d8d8; animation:draw-rule 1.45s cubic-bezier(.22,.75,.22,1) both; }
@keyframes draw-rule { from { transform:scaleX(0) } to { transform:scaleX(1) } }
.intro-caption { font-size:clamp(1rem,1.5vw,1.2rem); letter-spacing:-.03em; margin:27px 0 0; color:#d1d1d1; }
.intro-enter { position:absolute; z-index:2; bottom:37px; right:5.5vw; border:1px solid #818181; border-radius:100px; padding:16px 19px 16px 25px; font-size:.87rem; transition:background .25s,color .25s; }
.intro-enter:hover { background:#f1f1f1; color:#202020; }.intro-enter span { margin-left:40px; font-size:1.15rem; }

.site-shell { overflow:hidden; }.site-header { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 max(4.5vw,24px); background:var(--cream); }
.header-brand { display:flex; align-items:center; gap:13px; font-family:Georgia,serif; font-size:.75rem; line-height:1.06; letter-spacing:.065em; font-weight:bold; }.brand-symbol { font-family:Georgia,serif; font-size:1.95rem; letter-spacing:-.15em; white-space:nowrap; }.brand-symbol span { color:#919191; font-size:.75em; vertical-align:4px; margin:0 3px; }
.site-header nav { display:flex; gap:38px; color:#454545; font-size:.88rem; }.site-header nav a:hover { color:#888888; }
.header-action { border-bottom:1px solid #8f8f8f; padding:8px 0; font-size:.84rem; }.header-action span { margin-left:20px; }
.hero { min-height:min(770px,calc(100svh - 86px)); height:max(640px,calc(100svh - 86px)); position:relative; display:flex; align-items:center; background:#191919; color:white; }
.hero-image { position:absolute; inset:0; background-position:center 52%; background-size:cover; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,17,17,.92) 0%,rgba(19,19,19,.75) 38%,rgba(19,19,19,.07) 100%),linear-gradient(0deg,rgba(17,17,17,.32),transparent 30%); }
.hero-content { position:relative; z-index:1; width:100%; padding:65px max(8vw,28px) 100px; }.eyebrow { display:flex; gap:12px; align-items:center; font-size:.74rem; letter-spacing:.2em; color:#797979; font-weight:700; margin:0 0 28px; }.eyebrow.light { color:#c7c7c7; }.eyebrow-line { display:inline-block; height:1px; width:24px; background:currentColor; }
.hero h1 { font-size:clamp(3.2rem,6.2vw,6.4rem); letter-spacing:-.073em; line-height:1.22; margin:0; font-weight:600; }.hero h1 em { font-style:normal; color:#d8d8d8; }
.hero-desc { font-size:clamp(1rem,1.5vw,1.2rem); color:#e1e1e1; line-height:1.85; margin:34px 0 43px; letter-spacing:-.025em; }.hero-link { display:inline-flex; align-items:center; justify-content:space-between; min-width:255px; border-bottom:1px solid #acacac; padding:0 0 14px; font-size:.88rem; }.hero-link span { font-size:1.2rem; }.hero-link:hover { color:#dadada; }
.hero-bottom { position:absolute; bottom:32px; left:8vw; right:8vw; display:flex; justify-content:space-between; color:#cbcbcb; font-size:.65rem; letter-spacing:.22em; }
.section-wrap { max-width:1500px; margin:auto; padding-left:max(8vw,28px); padding-right:max(8vw,28px); }.section-label { display:flex; gap:27px; align-items:center; color:#787878; font-size:.7rem; font-weight:bold; letter-spacing:.15em; white-space:nowrap; }.section-label span:first-child { font-size:.9rem; }
.vision { min-height:570px; display:grid; grid-template-columns:25% 1fr; padding-top:130px; padding-bottom:130px; }.vision-body h2,.program-heading h2,.connection h2 { letter-spacing:-.07em; line-height:1.32; font-weight:600; }.vision-body h2 { font-size:clamp(2.4rem,4vw,4.5rem); margin:0 0 35px; }.vision-body h2 span { color:#8f8f8f; }.vision-copy { max-width:580px; color:#636363; font-size:1.05rem; line-height:2; letter-spacing:-.025em; margin:0; }.vision-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:36px; }.vision-tags span { border:1px solid #cfcfcf; border-radius:50px; padding:10px 17px; font-size:.82rem; }
.program-section { background:#e9e9e9; padding:110px 0 140px; }.program-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:50px 0; }.program-heading h2 { font-size:clamp(2.6rem,4.7vw,5rem); margin:0; }.program-heading > p { color:#666666; font-size:1rem; line-height:1.8; margin:0 0 5px; }
.program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#cfcfcf; border:1px solid #cfcfcf; }.program-card { background:#f2f2f2; padding:30px 30px 36px; min-height:310px; display:flex; flex-direction:column; justify-content:space-between; transition:background .25s; }.program-card:hover { background:white; }.program-card-top { display:flex; align-items:start; justify-content:space-between; font-size:.7rem; letter-spacing:.12em; color:#7b7b7b; }.program-icon { font-family:Georgia,serif; font-size:2rem; line-height:1; color:#8e8e8e; }.program-card h3 { font-size:clamp(1.4rem,2vw,1.9rem); margin:0 0 17px; letter-spacing:-.055em; }.program-card p { max-width:290px; color:#6f6f6f; line-height:1.7; font-size:.94rem; margin:0; letter-spacing:-.02em; }
.connection { background:var(--navy); color:#f2f2f2; padding:120px 0 110px; }.connection-inner { display:grid; grid-template-columns:25% 1fr; }.connection .section-label { color:#a8a8a8; }.connection h2 { font-size:clamp(2.6rem,4.2vw,4.6rem); margin:0 0 35px; }.connection-content > p:not(.eyebrow) { color:#bfbfbf; font-size:1.05rem; line-height:2; margin:0; }.connection-line { display:flex; justify-content:space-between; position:relative; gap:14px; border-top:1px solid #707070; margin-top:85px; padding-top:22px; color:#bcbcbc; font-size:.65rem; letter-spacing:.16em; }.connection-line span:before { content:""; position:absolute; width:5px; height:5px; background:#bcbcbc; border-radius:50%; transform:translateY(-26px); }
.site-footer { padding:75px max(8vw,28px) 35px; background:#141414; color:#ffffff; display:flex; align-items:end; gap:80px; }.footer-mark { font-family:Georgia,serif; font-size:2rem; line-height:.95; letter-spacing:-.04em; }.footer-mark span { color:#a7a7a7; }.site-footer div:nth-child(2) { flex:1; }.site-footer p { margin:0 0 9px; font-size:.9rem; }.site-footer div:nth-child(2) span { color:#989898; font-size:.67rem; letter-spacing:.07em; }.site-footer>a { color:#989898; font-size:.78rem; }
.admin-shell { min-height:100vh; background:#eaeaea; }.admin-header { display:flex; justify-content:space-between; align-items:center; background:#202020; color:#ffffff; padding:20px max(4vw,24px); }.admin-header a { font-size:.85rem; }.admin-main { max-width:1060px; margin:auto; padding:70px 24px 120px; }.admin-main h1 { font-size:clamp(2rem,4vw,3.6rem); letter-spacing:-.05em; margin:0 0 12px; }.admin-main>p { line-height:1.7; color:#626262; margin-bottom:35px; }.admin-form { display:grid; gap:14px; }.admin-item { background:white; border:1px solid #d7d7d7; padding:23px; }.admin-item label { display:block; font-weight:700; margin-bottom:12px; }.admin-item textarea { display:block; width:100%; min-height:85px; border:1px solid #d4d4d4; padding:12px; resize:vertical; line-height:1.7; color:var(--ink); }.admin-actions { display:flex; align-items:center; gap:20px; margin-top:12px; }.admin-actions button { background:#202020; color:white; border:0; padding:15px 30px; cursor:pointer; }.admin-actions button:disabled { opacity:.5; cursor:wait; }.admin-status { font-size:.9rem; }
@media (max-width:850px) { .site-header nav { gap:16px; }.header-action { display:none; }.vision,.connection-inner { grid-template-columns:1fr; gap:48px; }.program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.program-section { padding:85px 0; } }
@media (max-width:600px) { .intro-kicker { top:30px; left:25px; font-size:.59rem; letter-spacing:.13em; }.intro-index { bottom:27px; left:25px; font-size:.53rem; }.intro-wordmark { font-size:clamp(4.1rem,17vw,6.3rem); }.intro-caption { margin-top:23px; }.intro-enter { bottom:70px; left:25px; right:25px; text-align:center; }.intro-enter span { margin-left:20px; }.site-header { height:68px; padding:0 20px; }.site-header nav { font-size:.76rem; gap:15px; }.site-header nav a:first-child { display:none; }.brand-symbol { font-size:1.48rem; }.header-brand { gap:8px; font-size:.58rem; }.hero { min-height:690px; height:calc(100svh - 68px); max-height:820px; align-items:end; }.hero-image { background-position:62% center; }.hero-shade { background:linear-gradient(0deg,rgba(17,17,17,.94),rgba(17,17,17,.22) 100%),linear-gradient(90deg,rgba(17,17,17,.45),transparent); }.hero-content { padding:50px 25px 100px; }.hero h1 { font-size:clamp(3.15rem,11vw,4.2rem); line-height:1.25; }.hero-desc { margin:24px 0 36px; font-size:1rem; }.eyebrow { letter-spacing:.1em; font-size:.61rem; }.hero-bottom { left:25px; right:25px; bottom:25px; }.section-wrap { padding-left:25px; padding-right:25px; }.vision { padding-top:85px; padding-bottom:90px; gap:55px; }.vision-body h2 { font-size:clamp(2.2rem,8vw,3.3rem); }.vision-copy { font-size:1rem; }.program-heading { align-items:start; flex-direction:column; margin:42px 0 32px; gap:17px; }.program-heading h2 { font-size:2.7rem; }.program-grid { grid-template-columns:1fr; }.program-card { min-height:250px; padding:25px; }.program-card h3 { font-size:1.6rem; }.connection { padding:90px 0 85px; }.connection-inner { gap:55px; }.connection h2 { font-size:clamp(2.35rem,8vw,3.5rem); }.connection-content > p:not(.eyebrow) br { display:none; }.connection-line { flex-wrap:wrap; justify-content:start; gap:18px 23px; margin-top:55px; font-size:.58rem; }.connection-line span:before { display:none; }.site-footer { display:block; padding:65px 25px 35px; }.site-footer div:nth-child(2) { margin:36px 0; } }
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } .intro-rule span { transform:scaleX(1); } }

[hidden] { display:none !important; }
.admin-actions { flex-wrap:wrap; }
.admin-actions .secondary-action { background:transparent; color:#202020; border:1px solid #202020; }
.admin-main code { background:#dddddd; padding:2px 5px; }

/* A single line carries the intro through the ministry story. */
.intro-center,.intro-caption,.intro-enter { transition:opacity .45s ease,transform .6s ease; }
.intro-rule { transition:width .6s cubic-bezier(.22,.75,.22,1),transform .6s cubic-bezier(.22,.75,.22,1); }
.intro.is-leaving .intro-wordmark,.intro.is-leaving .intro-caption,.intro.is-leaving .intro-enter { opacity:0; transform:translateY(-16px); }
.intro.is-leaving .intro-rule { width:100vw; position:relative; left:50%; transform:translateX(-50%); }
.hero-thread { position:absolute; z-index:1; right:-3%; top:49%; width:45%; height:1px; transform:rotate(-11deg); transform-origin:right center; pointer-events:none; opacity:.85; }
.hero-thread span { display:block; height:1px; width:100%; background:linear-gradient(90deg,transparent,#d2d2d2 35%,#d2d2d2 80%,transparent); transform-origin:left; animation:hero-draw 1.3s .25s ease-out both; }
.hero-thread i { position:absolute; right:17%; top:-3px; width:7px; height:7px; border:1px solid #d2d2d2; background:#202020; border-radius:50%; animation:hero-dot .6s 1.2s ease-out both; }
@keyframes hero-draw { from {transform:scaleX(0)} to {transform:scaleX(1)} }
@keyframes hero-dot { from {opacity:0;transform:scale(.4)} to {opacity:1;transform:scale(1)} }
.bridge-path { margin-top:65px; position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); max-width:780px; }
.bridge-path-line { position:absolute; top:7px; left:10%; width:80%; height:1px; background:#c3c3c3; }
.bridge-path-line::after { content:""; position:absolute; inset:0; background:#808080; transform:scaleX(0); transform-origin:left; transition:transform 1.35s cubic-bezier(.2,.7,.2,1); }
.bridge-path.is-visible .bridge-path-line::after { transform:scaleX(1); }
.bridge-step { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; z-index:1; }
.bridge-dot { display:block; width:15px; height:15px; border:2px solid #808080; border-radius:50%; background:var(--cream); transform:scale(.65); transition:background .3s ease,transform .35s ease; }
.bridge-path.is-visible .bridge-dot { background:#808080; transform:scale(1); }
.bridge-step:nth-child(3) .bridge-dot { transition-delay:.2s; }.bridge-step:nth-child(4) .bridge-dot { transition-delay:.4s; }.bridge-step:nth-child(5) .bridge-dot { transition-delay:.6s; }.bridge-step:nth-child(6) .bridge-dot { transition-delay:.8s; }
.bridge-step strong { font-weight:600; font-size:.97rem; }.bridge-step small { color:#909090; font-size:.6rem; letter-spacing:.1em; }
.js-motion .program-card:not(.is-visible) { opacity:0; transform:translateY(25px); }
.program-card { transition:background .25s,opacity .65s ease,transform .65s ease; }
.program-card:nth-child(3n+2) { transition-delay:.08s; }.program-card:nth-child(3n+3) { transition-delay:.16s; }
.program-card { position:relative; overflow:hidden; }.program-card::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:#808080; transition:right .4s ease; }.program-card:hover::after { right:0; }
.connection-line::after { content:""; position:absolute; height:1px; top:-1px; left:0; right:0; background:#bcbcbc; transform:scaleX(0); transform-origin:left; transition:transform 1.5s ease; }
.connection-line.is-visible::after { transform:scaleX(1); }
@media (max-width:850px) { .bridge-path { margin-top:52px; } }
@media (max-width:600px) {
  .hero-thread { right:-16%; top:35%; width:70%; opacity:.55; }
  .bridge-path { display:flex; flex-direction:column; gap:26px; margin-top:42px; padding-left:3px; }
  .bridge-path-line { left:9px; top:8px; width:1px; height:calc(100% - 22px); }
  .bridge-path-line::after { transform:scaleY(0); transform-origin:top; }
  .bridge-path.is-visible .bridge-path-line::after { transform:scaleY(1); }
  .bridge-step { flex-direction:row; text-align:left; align-items:center; gap:15px; }
  .bridge-dot { flex:none; }
  .bridge-step strong { width:3.5rem; }
  .program-card:nth-child(n) { transition-delay:0s; }
}
@media (prefers-reduced-motion:reduce) {
  .js-motion .program-card:not(.is-visible) { opacity:1; transform:none; }
  .bridge-path-line::after,.connection-line::after { transform:none; }
  .bridge-dot { transform:none; background:#808080; }
}

/* Editorial, music-led direction */
body { background:#ffffff; }
.site-header { position:absolute; z-index:5; top:0; left:0; right:0; background:transparent; color:#ffffff; height:92px; }
.site-header nav,.site-header .header-action { color:#ffffff; }
.site-header nav a:hover { color:#c2c2c2; }
.site-header .header-action { border-color:rgba(255,255,255,.6); }
.site-header .brand-symbol span { color:#bebebe; }
.hero { min-height:720px; height:100svh; max-height:950px; }
.hero-image { background-position:55% center; }
.hero-shade { background:linear-gradient(90deg,rgba(14,14,14,.74) 0%,rgba(14,14,14,.35) 43%,rgba(14,14,14,.08) 85%),linear-gradient(0deg,rgba(14,14,14,.73),transparent 43%); }
.hero-content { align-self:flex-end; padding:0 max(7vw,28px) clamp(125px,16vh,180px); max-width:1200px; }
.hero h1 { font-size:clamp(3.8rem,6.5vw,7rem); line-height:1.15; font-weight:650; letter-spacing:-.07em; }
.hero h1 em { color:#ffffff; }
.hero-desc { margin:29px 0 34px; color:#f2f2f2; font-size:1.1rem; }
.hero-link { min-width:230px; border-color:#e8e8e8; }
.hero-bottom { left:7vw; right:7vw; bottom:29px; }
.editorial-intro { background:#ffffff; border-bottom:1px solid #e6e6e6; }
.editorial-intro-inner { display:flex; align-items:end; justify-content:space-between; gap:70px; padding-top:122px; padding-bottom:115px; }
.editorial-lead { font-size:clamp(3rem,5.4vw,5.6rem); font-weight:650; letter-spacing:-.075em; line-height:1.24; margin:0; }
.editorial-side { color:#717171; font-size:1.08rem; line-height:1.9; margin:0 0 8px; flex:none; }
.vision { background:#ffffff; padding-top:110px; padding-bottom:135px; }
.vision-body h2 { font-size:clamp(2.4rem,3.6vw,4.2rem); }
.bridge-story { background:#eaeaea; border-top:1px solid #e0e0e0; padding:115px 0 120px; }
.bridge-story-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(50px,8vw,140px); align-items:end; }
.bridge-story-heading h2 { font-size:clamp(2.4rem,3.6vw,4.2rem); font-weight:600; line-height:1.3; letter-spacing:-.075em; margin:0; }
.bridge-story-heading h2 span { color:#848484; }
.bridge-story-copy { border-left:1px solid #999999; padding-left:29px; color:#515151; font-size:1.08rem; line-height:1.95; letter-spacing:-.025em; }
.bridge-story-copy p { margin:0; }
.bridge-story-copy p+p { margin-top:23px; }
.journey { padding:120px 0 130px; background:#ffffff; }
.journey-intro h2 { font-size:clamp(2.5rem,4.1vw,4.6rem); font-weight:600; line-height:1.28; letter-spacing:-.075em; margin:0; }
.journey-intro h2 span { color:#898989; }
.journey-intro > p:last-child { color:#707070; font-size:1.05rem; line-height:1.85; margin:25px 0 0; }
.journey-map { margin-top:68px; }
.journey-base { background:#242424; color:#ffffff; display:grid; grid-template-columns:minmax(210px,.43fr) 1fr; gap:35px; align-items:center; padding:39px 43px 43px; }
.journey-number { display:block; font-size:.68rem; font-weight:700; letter-spacing:.19em; color:#939393; }
.journey-base .journey-number { color:#bababa; }
.journey-base h3 { font-size:clamp(2.1rem,3vw,3rem); font-weight:600; letter-spacing:-.06em; margin:14px 0 0; }
.journey-base p { color:#dedede; font-size:1.03rem; line-height:1.9; margin:0; }
.journey-base strong { color:#ffffff; font-weight:700; }
.journey-branches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; padding-top:23px; position:relative; }
.journey-branches::before { content:""; position:absolute; top:0; left:50%; height:23px; border-left:1px solid #9a9a9a; }
.journey-branch { background:#f2f2f2; border:1px solid #dfdfdf; padding:35px 37px 39px; min-height:243px; }
.journey-branch h3 { font-size:clamp(1.55rem,2.1vw,2rem); font-weight:600; letter-spacing:-.06em; line-height:1.35; margin:19px 0 16px; }
.journey-branch p { color:#626262; line-height:1.8; font-size:.99rem; margin:0; }
.program-section { background:#f2f2f2; padding:120px 0 130px; }
.program-heading { margin:52px 0 43px; }
.program-heading > p { flex:none; min-width:186px; }
.program-controls { display:flex; align-items:center; justify-content:space-between; max-width:100%; border-top:1px solid #d2d2d2; padding:22px 0 23px; }
.program-count { font-family:Georgia,serif; font-size:1.25rem; color:#292929; }
.program-count span { color:#909090; font-size:.85rem; }
.program-buttons { display:flex; gap:8px; }
.program-buttons button { width:48px; height:48px; border-radius:50%; border:1px solid #a3a3a3; background:transparent; color:#2e2e2e; cursor:pointer; font-size:1.3rem; transition:background .2s,color .2s,opacity .2s; }
.program-buttons button:hover:not(:disabled) { background:#2e2e2e; color:white; }
.program-buttons button:disabled { opacity:.3; cursor:default; }
.program-grid { display:flex; gap:16px; overflow-x:auto; overflow-y:hidden; background:none; border:0; padding:0 0 12px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#aaaaaa transparent; }
.program-card { flex:0 0 clamp(280px,31vw,410px); scroll-snap-align:start; min-height:470px; border:0; background:#212121; color:#ffffff; padding:34px; }
.program-card:nth-child(3n+2) { background:#9f9f9f; color:#1a1a1a; }
.program-card:nth-child(3n+3) { background:#dcdcdc; color:#202020; }
.program-card:hover { background:#313131; color:#ffffff; }
.program-card:nth-child(3n+2):hover { background:#8d8d8d; color:#1a1a1a; }
.program-card:nth-child(3n+3):hover { background:#cecece; color:#202020; }
.program-card-top { color:inherit; opacity:.72; }
.program-card h3 { font-size:clamp(1.9rem,2.3vw,2.65rem); line-height:1.27; max-width:11ch; }
.program-card p { color:inherit; opacity:.8; font-size:1rem; max-width:27ch; }
.program-icon { font-size:2.8rem; color:inherit; opacity:.72; }
.program-card::after { background:#bdbdbd; }
.program-card:nth-child(3n+2)::after,.program-card:nth-child(3n+3)::after { background:#313131; }
.connection { padding-top:130px; }
@media (max-width:850px) {
  .site-header { height:78px; }
  .editorial-intro-inner { display:block; padding-top:90px; padding-bottom:90px; }
  .editorial-side { margin:35px 0 0; }
  .bridge-story-inner { grid-template-columns:1fr; gap:40px; }
  .journey-base { grid-template-columns:1fr; gap:22px; }
  .journey-branches { grid-template-columns:1fr; gap:13px; }
  .journey-branches::before { left:24px; }
  .program-card { flex-basis:45vw; }
}
@media (max-width:600px) {
  .site-header { height:70px; padding:0 22px; }
  .site-header nav,.site-header .header-action { display:none; }
  .hero { min-height:680px; height:100svh; max-height:900px; }
  .hero-image { background-position:58% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(14,14,14,.9) 0%,rgba(14,14,14,.42) 47%,rgba(14,14,14,.14) 100%); }
  .hero-content { padding:0 25px 110px; }
  .hero h1 { font-size:clamp(2.9rem,10.8vw,4.1rem); line-height:1.22; }
  .hero-desc { max-width:19em; font-size:.96rem; line-height:1.75; margin:22px 0 28px; }
  .hero-bottom { left:25px; right:25px; bottom:24px; }
  .hero-bottom span:last-child { display:none; }
  .editorial-intro-inner { padding-top:77px; padding-bottom:83px; }
  .editorial-lead { font-size:clamp(2.3rem,8.2vw,3.4rem); line-height:1.3; }
  .editorial-side { font-size:1rem; }
  .vision { padding-top:85px; padding-bottom:95px; }
  .bridge-story { padding:83px 0 89px; }
  .bridge-story-heading h2 { font-size:clamp(2.15rem,8vw,3rem); }
  .bridge-story-copy { padding-left:20px; font-size:1rem; line-height:1.9; }
  .bridge-story-copy p+p { margin-top:16px; }
  .journey { padding:88px 0 100px; }
  .journey-intro h2 { font-size:clamp(2.15rem,8vw,3rem); }
  .journey-intro > p:last-child { font-size:.98rem; margin-top:19px; }
  .journey-map { margin-top:43px; }
  .journey-base { padding:29px 25px 32px; }
  .journey-base h3 { font-size:2rem; }
  .journey-base p { font-size:.98rem; }
  .journey-branch { min-height:0; padding:27px 25px 29px; }
  .journey-branch h3 { font-size:1.48rem; }
  .journey-branch p { font-size:.95rem; }
  .program-section { padding:85px 0 100px; }
  .program-heading { margin:42px 0 35px; }
  .program-heading > p { min-width:0; }
  .program-controls { padding:15px 0 17px; }
  .program-buttons button { width:42px; height:42px; }
  .program-card { flex:0 0 min(80vw,350px); min-height:410px; padding:28px; }
  .program-card h3 { font-size:2rem; }
  .connection { padding-top:90px; }
}
@media (prefers-reduced-motion:reduce) { .hero-image { animation:none; } }

/* Five newly created worship scenes in the main hero. */
.hero-images { position:absolute; inset:0; overflow:hidden; }
.hero-images .hero-image { opacity:0; transition:opacity 1.05s ease-in-out; }
.hero-images .hero-image.is-active { opacity:1; }
.hero-images .hero-image:nth-child(1) { background-image:url('./hero-home.webp'); }
.hero-images .hero-image:nth-child(2) { background-image:url('./hero-forest.webp'); }
.hero-images .hero-image:nth-child(3) { background-image:url('./hero-hall.webp'); }
.hero-images .hero-image:nth-child(4) { background-image:url('./hero-loft.webp'); }
.hero-images .hero-image:nth-child(5) { background-image:url('./hero-studio.webp'); }
.hero-shade { background:linear-gradient(90deg,rgba(14,14,14,.83) 0%,rgba(14,14,14,.5) 43%,rgba(14,14,14,.11) 88%),linear-gradient(0deg,rgba(14,14,14,.77),transparent 46%); pointer-events:none; }
.hero-bottom { z-index:2; align-items:center; }
.hero-gallery-nav { display:flex; align-items:center; gap:12px; color:#ffffff; letter-spacing:.07em; }
.hero-gallery-nav button { width:38px; height:38px; border:1px solid rgba(255,255,255,.58); border-radius:50%; background:rgba(17,17,17,.34); color:#ffffff; font-size:1rem; cursor:pointer; transition:background .2s,border-color .2s; }
.hero-gallery-nav button:hover,.hero-gallery-nav button:focus-visible { background:rgba(255,255,255,.23); border-color:#ffffff; }
.hero-gallery-count { display:inline-block; min-width:51px; text-align:center; font-family:Georgia,serif; font-size:.88rem; letter-spacing:.07em; }
#hero-pause { font-size:.8rem; }
@media (max-width:600px) {
  .hero-images .hero-image { background-position:60% center; }
  .hero-images .hero-image:nth-child(4) { background-position:40% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(14,14,14,.93) 0%,rgba(14,14,14,.5) 51%,rgba(14,14,14,.22) 100%); }
  .hero-bottom > span { display:none; }
  .hero-gallery-nav { margin-left:auto; gap:8px; }
  .hero-gallery-nav button { width:34px; height:34px; }
}

/* Each ministry has its own image; the title stays on one line. */
.program-card { min-height:480px; padding:0; justify-content:flex-start; }
.program-card-photo { height:320px; flex:none; position:relative; overflow:hidden; background:#464646; }
.program-card-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,16,16,.55),transparent 42%); pointer-events:none; }
.program-card-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.program-card-top { position:absolute; z-index:1; top:22px; left:28px; color:#ffffff; opacity:1; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-shadow:0 1px 4px rgba(0,0,0,.4); }
.program-card-body { display:flex; flex:1; flex-direction:column; justify-content:flex-start; padding:21px 28px 25px; min-width:0; }
.program-card h3 { max-width:none; white-space:nowrap; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.3; margin:0 0 16px; letter-spacing:-.065em; }
.program-card p { max-width:none; width:100%; font-size:.94rem; line-height:1.75; }
@media (max-width:360px) { .connection h2 { font-size:2.2rem; } }
@media (max-width:600px) {
  .program-card { min-height:455px; }
  .program-card-photo { height:260px; }
  .program-card-body { padding:20px 22px 24px; }
  .program-card h3 { font-size:clamp(1.1rem,5.4vw,1.45rem); }
  .program-card p { font-size:.91rem; }
  .program-card-top { left:22px; }
}

/* The hero uses the English name; section headings are compact Korean titles. */
.hero h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(4rem,9vw,9rem); font-weight:400; line-height:.91; letter-spacing:-.075em; }
.hero h1 span { display:block; }
.hero-desc { max-width:33em; }
@media (max-width:600px) {
  .hero h1 { font-size:clamp(3.2rem,13.5vw,5rem); line-height:.93; }
  .hero-desc { max-width:24em; }
  .connection h2 { font-size:clamp(1.9rem,9vw,3.5rem); }
}

/* A focused statement between the image hero and the ministry story. */
.editorial-intro { background:#f3f3f3; border-top:1px solid #e2e2e2; border-bottom:1px solid #dbdbdb; }
.editorial-intro-inner { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:end; gap:clamp(50px,7vw,110px); padding-top:93px; padding-bottom:99px; }
.editorial-rule { display:block; width:50px; height:2px; margin-bottom:29px; background:#858585; }
.editorial-lead { font-size:clamp(3.2rem,5.3vw,5.15rem); line-height:1.18; letter-spacing:-.075em; color:#222222; }
.editorial-lead span { color:#757575; }
.editorial-aside { border-left:1px solid #b6b6b6; padding:1px 0 4px 28px; }
.editorial-label { color:#797979; font-size:.7rem; font-weight:700; letter-spacing:.18em; margin:0 0 18px; }
.editorial-side { margin:0; color:#424242; font-size:1rem; line-height:1.9; word-break:keep-all; }
.editorial-link { display:inline-flex; gap:35px; align-items:center; margin-top:25px; padding-bottom:7px; border-bottom:1px solid #858585; color:#292929; font-size:.85rem; letter-spacing:-.02em; }
.editorial-link:hover { color:#6b6b6b; }
@media (max-width:850px) {
  .editorial-intro-inner { grid-template-columns:1fr; align-items:start; gap:35px; padding-top:78px; padding-bottom:82px; }
  .editorial-aside { max-width:620px; }
}
@media (max-width:600px) {
  .editorial-intro-inner { display:grid; gap:30px; padding-top:68px; padding-bottom:73px; }
  .editorial-rule { margin-bottom:24px; }
  .editorial-lead { font-size:clamp(2.35rem,8.5vw,3.8rem); line-height:1.24; }
  .editorial-aside { padding-left:20px; }
  .editorial-label { margin-bottom:12px; }
  .editorial-side { font-size:.94rem; line-height:1.83; }
}

/* Distinctive, photo-rich rhythm for the full ministry page. The intro and hero stay as they are. */
.starting-points { padding:112px 0 124px; background:#f9f9f9; color:#1d1d1d; }
.start-heading { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-bottom:43px; }
.start-heading .eyebrow { color:#5f5f5f; }
.start-heading h2 { margin:0; font-size:clamp(2.8rem,4.6vw,5rem); font-weight:650; line-height:1.2; letter-spacing:-.075em; }
.start-heading h2 span { color:#5f5f5f; }
.start-heading > p { max-width:360px; margin:0 0 5px; color:#606060; font-size:1rem; line-height:1.8; }
.start-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.start-card { overflow:hidden; border-radius:18px; display:flex; flex-direction:column; min-width:0; background:#262626; color:#ffffff; }
.start-card img { width:100%; height:280px; object-fit:cover; display:block; }
.start-card-body { display:flex; flex:1; flex-direction:column; min-height:231px; padding:26px 28px 27px; }
.start-card-body > span { font-size:.65rem; font-weight:700; letter-spacing:.15em; opacity:.72; }
.start-card h3 { font-size:clamp(1.7rem,2.25vw,2.3rem); line-height:1.2; letter-spacing:-.06em; margin:14px 0 13px; }
.start-card p { font-size:.94rem; line-height:1.68; margin:0 0 25px; opacity:.88; }
.start-card a { display:inline-flex; align-items:center; justify-content:space-between; align-self:start; gap:32px; min-width:130px; margin-top:auto; padding:9px 0 7px; border-bottom:1px solid currentColor; font-size:.83rem; font-weight:700; }
.start-card a:hover { opacity:.7; }
.start-card a b { font-size:1.15rem; font-weight:400; }
.start-card-gathering { background:#949494; color:#1e1e1e; }
.start-card-culture { background:#e0e0e0; color:#282828; }

.editorial-intro { background:#1f1f1f; border:0; }
.editorial-intro-inner { padding-top:109px; padding-bottom:115px; }
.editorial-rule { background:#ababab; }
.editorial-lead { color:#ffffff; }
.editorial-lead span { color:#e4e4e4; }
.editorial-aside { border-color:rgba(255,255,255,.32); }
.editorial-label { color:#e4e4e4; }
.editorial-side { color:#e2e2e2; }
.editorial-link { color:#ffffff; border-color:#b3b3b3; }
.editorial-link:hover { color:#e4e4e4; }

.vision { background:#ffffff; padding-top:137px; padding-bottom:143px; }
.vision .eyebrow,.vision .section-label { color:#646464; }
.vision-body h2 span { color:#646464; }
.vision-copy { color:#575757; }
.bridge-path-line { background:#d5d5d5; }
.bridge-path-line::after,.bridge-dot { border-color:#646464; }
.bridge-path-line::after { background:#646464; }
.bridge-path.is-visible .bridge-dot { background:#646464; }
.bridge-step small { color:#707070; }

.bridge-story { background:#e5e5e5; border:0; padding-top:120px; padding-bottom:123px; }
.bridge-story .eyebrow { color:#5f5f5f; }
.bridge-story-heading h2 { color:#222222; }
.bridge-story-heading h2 span { color:#6e6e6e; }
.bridge-story-copy { border-color:#757575; color:#3a3a3a; }

.journey { background:#f4f4f4; padding-top:125px; padding-bottom:134px; }
.journey .eyebrow,.journey-number { color:#606060; }
.journey-intro h2 { color:#222222; }
.journey-intro h2 span { color:#656565; }
.journey-intro > p:last-child { color:#545454; }
.journey-base { background:#2c2c2c; border-radius:16px; }
.journey-base .journey-number { color:#e4e4e4; }
.journey-branches::before { border-color:#8e8e8e; }
.journey-branch { background:#ffffff; border:0; border-radius:16px; }
.journey-branch:nth-child(2) { background:#e7e7e7; }
.journey-branch h3 { color:#272727; }

.work-feature { min-height:570px; display:grid; grid-template-columns:1fr 1fr; background:#d0d0d0; }
.work-feature-photo { min-height:570px; overflow:hidden; }
.work-feature-photo img { display:block; height:100%; width:100%; object-fit:cover; object-position:center; }
.work-feature-content { display:flex; flex-direction:column; align-items:start; justify-content:center; padding:70px clamp(36px,7vw,115px); color:#202020; }
.work-feature .eyebrow { color:#4f4f4f; }
.work-feature h2 { margin:0 0 25px; font-size:clamp(2.8rem,4.7vw,5rem); font-weight:650; line-height:1.2; letter-spacing:-.075em; }
.work-feature-content > p:not(.eyebrow) { max-width:510px; margin:0; font-size:1.03rem; line-height:1.9; color:#3d3d3d; }
.work-feature a { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-width:230px; margin-top:30px; padding-bottom:12px; border-bottom:1px solid #484848; font-size:.88rem; font-weight:700; }
.work-feature a:hover { color:#616161; }

.program-section { background:#ffffff; padding-top:127px; padding-bottom:145px; }
.program-section .section-label,.program-section .eyebrow { color:#646464; }
.program-heading { align-items:end; margin:49px 0 45px; }
.program-heading h2 { font-size:clamp(2.8rem,4.7vw,5rem); color:#232323; }
.program-heading .small-break { display:none; }
.program-heading > p { color:#5f5f5f; min-width:0; }
.program-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; overflow:visible; padding:0; border:0; background:transparent; scroll-snap-type:none; }
.program-card { grid-column:span 3; flex:none; min-height:460px; padding:0; border:0; border-radius:18px; background:#242424; color:#ffffff; display:flex; flex-direction:column; justify-content:flex-start; isolation:isolate; scroll-snap-align:none; }
.program-card:nth-child(n) { background:#242424; color:#ffffff; }
.program-card:nth-child(3),.program-card:nth-child(4),.program-card:nth-child(5),.program-card:nth-child(6),.program-card:nth-child(7),.program-card:nth-child(8) { grid-column:span 2; min-height:410px; }
.program-card:nth-child(3) { background:#595959; }
.program-card:nth-child(4) { background:#7a7a7a; }
.program-card:nth-child(5) { background:#6d6d6d; }
.program-card::after { content:none; }
.program-card-photo { position:absolute; inset:0; height:100%; z-index:-1; background:inherit; }
.program-card-photo::after { background:linear-gradient(180deg,rgba(17,17,17,.45),transparent 33%,rgba(16,16,16,.29) 51%,rgba(13,13,13,.92) 100%); }
.program-card-photo img { transition:transform .5s ease; }
.program-card:hover .program-card-photo img { transform:scale(1.04); }
.program-card-top { z-index:2; top:25px; left:29px; opacity:1; }
.program-card-body { position:relative; z-index:1; margin-top:auto; flex:none; padding:30px 29px 33px; }
.program-card h3 { color:#ffffff; font-size:clamp(1.55rem,2.5vw,2.2rem); margin:0 0 12px; white-space:nowrap; }
.program-card:nth-child(3) h3 { font-size:clamp(1.3rem,2vw,1.85rem); }
.program-card p,.program-card:nth-child(n) p { color:#efefef; opacity:1; max-width:40ch; font-size:.94rem; line-height:1.67; }

.connection { background:linear-gradient(130deg,#444444 0%,#666666 100%); padding-top:129px; padding-bottom:115px; }
.connection .section-label,.connection .eyebrow.light { color:#e8e8e8; }
.connection-content > p:not(.eyebrow) { color:#ececec; }
.connection-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.connection-actions a { display:inline-flex; justify-content:space-between; align-items:center; min-width:190px; gap:28px; padding:15px 20px; border-radius:100px; background:#eaeaea; color:#242424; font-size:.88rem; font-weight:700; }
.connection-actions a:nth-child(2) { background:#ffffff; }
.connection-actions a:hover { opacity:.82; }
.connection-line { margin-top:91px; border-color:rgba(255,255,255,.5); color:#f1f1f1; }
.connection-line span:before { background:#eaeaea; }
.connection-line::after { background:#eaeaea; }
.site-footer { background:#191919; }

@media (max-width:950px) {
  .start-heading { align-items:start; flex-direction:column; gap:20px; }
  .start-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .start-card:last-child { grid-column:span 2; }
  .start-card:last-child img { height:320px; }
  .work-feature-content { padding:55px 39px; }
  .program-card:nth-child(n) { grid-column:span 3; min-height:430px; }
  .program-card:last-child { grid-column:span 3; }
}
@media (max-width:600px) {
  .starting-points { padding:78px 0 86px; }
  .start-heading { gap:15px; margin-bottom:29px; }
  .start-heading h2 { font-size:clamp(2.35rem,8.5vw,3.3rem); }
  .start-heading > p { font-size:.94rem; line-height:1.7; }
  .start-heading > p br { display:none; }
  .start-grid { grid-template-columns:1fr; gap:14px; }
  .start-card:last-child { grid-column:auto; }
  .start-card img,.start-card:last-child img { height:220px; }
  .start-card-body { min-height:0; padding:23px 24px 25px; }
  .start-card h3 { margin:11px 0; font-size:1.65rem; }
  .start-card p { margin-bottom:17px; }
  .editorial-intro-inner { padding-top:83px; padding-bottom:89px; }
  .editorial-lead { font-size:clamp(2.35rem,8.4vw,3.7rem); }
  .vision { padding-top:91px; padding-bottom:98px; }
  .bridge-story { padding-top:89px; padding-bottom:94px; }
  .journey { padding-top:92px; padding-bottom:100px; }
  .journey-base,.journey-branch { border-radius:12px; }
  .work-feature { display:flex; flex-direction:column; }
  .work-feature-photo { min-height:0; height:320px; }
  .work-feature-content { padding:67px 25px 75px; }
  .work-feature h2 { font-size:clamp(2.65rem,8.4vw,3.5rem); }
  .work-feature-content > p:not(.eyebrow) { font-size:.96rem; }
  .program-section { padding-top:91px; padding-bottom:103px; }
  .program-heading { margin:36px 0 30px; }
  .program-heading h2 { font-size:clamp(2.3rem,8.5vw,3.4rem); }
  .program-heading .small-break { display:block; }
  .program-heading > p br { display:none; }
  .program-grid { grid-template-columns:1fr; gap:13px; }
  .program-card:nth-child(n) { grid-column:auto; min-height:385px; }
  .program-card:nth-child(3) h3 { font-size:clamp(1.2rem,5.1vw,1.6rem); }
  .program-card-body { padding:26px 24px 27px; }
  .program-card h3 { font-size:clamp(1.5rem,6.1vw,1.9rem); }
  .program-card-top { left:24px; }
  .program-card p { font-size:.9rem; }
  .connection { padding-top:95px; padding-bottom:91px; }
  .connection-actions a { flex:1 1 100%; }
  .connection-line { margin-top:66px; }
}

/* One visual language throughout: ink, white and deliberate gray. */
:root { --navy:#171717; --navy-deep:#101010; --cream:#f6f6f6; --ink:#1a1a1a; --muted:#626262; --gold:#888; --line:#dadada; }
body { background:#fff; color:#1a1a1a; }
button:focus-visible,a:focus-visible,textarea:focus-visible { outline-color:#777; }
::selection { background:#ccc; color:#111; }
.intro { background:radial-gradient(ellipse at 55% 42%,#303030 0%,#1c1c1c 46%,#101010 100%); color:#fff; }
.intro-glow { background:#fff; opacity:.07; }
.intro-rule span { background:#fff; }
.intro-enter:hover { background:#fff; color:#111; }
.site-header nav a:hover { color:#cfcfcf; }
.site-header .brand-symbol span { color:#fff; }
.hero { background:#111; }
.hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.35) 47%,rgba(0,0,0,.09) 88%),linear-gradient(0deg,rgba(0,0,0,.77),transparent 46%); }
.hero-thread span { background:linear-gradient(90deg,transparent,#fff 35%,#fff 80%,transparent); }
.hero-thread i { border-color:#fff; background:#161616; }
.hero .eyebrow.light,.hero-link:hover { color:#fff; }
.hero-link { border-color:rgba(255,255,255,.75); }
.hero-desc { color:#e5e5e5; }
.eyebrow,.section-label { color:#595959; }
.starting-points { background:#fff; color:#191919; }
.start-heading .eyebrow,.start-heading h2 span { color:#505050; }
.start-heading > p { color:#5d5d5d; }
.start-card,.start-card-gathering,.start-card-culture { background:#f4f4f4; color:#1d1d1d; border:1px solid #dfdfdf; }
.editorial-intro { background:#1b1b1b; }
.editorial-rule { background:#fff; }
.editorial-lead,.editorial-lead span,.editorial-label { color:#fff; }
.editorial-aside { border-color:#797979; }
.editorial-side { color:#d7d7d7; }
.editorial-link { color:#fff; border-color:#aaa; }
.editorial-link:hover { color:#d1d1d1; }
.vision { background:#fff; }
.vision .eyebrow,.vision .section-label,.vision-body h2 span { color:#636363; }
.vision-copy { color:#505050; }
.bridge-path-line { background:#d2d2d2; }
.bridge-path-line::after,.bridge-path.is-visible .bridge-dot { background:#333; }
.bridge-dot,.bridge-path-line::after { border-color:#333; }
.bridge-dot { background:#fff; }
.bridge-step small { color:#666; }
.bridge-story { background:#eaeaea; }
.bridge-story .eyebrow,.bridge-story-heading h2 span { color:#555; }
.bridge-story-heading h2 { color:#1d1d1d; }
.bridge-story-copy { color:#444; border-color:#868686; }
.journey { background:#f6f6f6; }
.journey .eyebrow,.journey-number,.journey-intro h2 span { color:#626262; }
.journey-intro h2 { color:#202020; }
.journey-intro > p:last-child { color:#555; }
.journey-base { background:#202020; }
.journey-base .journey-number { color:#dedede; }
.journey-branches::before { border-color:#999; }
.journey-branch,.journey-branch:nth-child(2) { background:#fff; border:1px solid #e1e1e1; }
.journey-branch h3 { color:#222; }
.work-feature { background:#ebebeb; }
.work-feature-content { color:#202020; }
.work-feature .eyebrow { color:#606060; }
.work-feature-content > p:not(.eyebrow) { color:#494949; }
.work-feature a { border-color:#555; }
.work-feature a:hover { color:#555; }
.program-section { background:#fff; }
.program-section .section-label,.program-section .eyebrow { color:#626262; }
.program-heading h2 { color:#202020; }
.program-heading > p { color:#565656; }
.program-card,.program-card:nth-child(n),.program-card:nth-child(3),.program-card:nth-child(4),.program-card:nth-child(5) { background:#272727; color:#fff; }
.program-card:nth-child(3n+2):hover,.program-card:nth-child(3n+3):hover,.program-card:hover { background:#272727; color:#fff; }
.program-card-photo::after { background:linear-gradient(180deg,rgba(0,0,0,.47),transparent 34%,rgba(0,0,0,.31) 51%,rgba(0,0,0,.92) 100%); }
.program-card p,.program-card:nth-child(n) p { color:#eee; }
.connection { background:#202020; }
.connection .section-label,.connection .eyebrow.light { color:#dedede; }
.connection-content > p:not(.eyebrow) { color:#e0e0e0; }
.connection-actions a,.connection-actions a:nth-child(2) { background:#fff; color:#1b1b1b; }
.connection-actions a:nth-child(2) { background:transparent; color:#fff; border:1px solid #aaa; }
.connection-line { color:#e4e4e4; }
.connection-line span:before,.connection-line::after { background:#fff; }
.site-footer { background:#111; }
.footer-mark span { color:#dedede; }
@media (max-width:600px) {
  .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.47) 51%,rgba(0,0,0,.17) 100%); }
}
