/* Home proportions measured against the reference at desktop and mobile widths. */
@font-face{font-family:YesonSquare;src:url('fonts/NanumSquareEB.ttf') format('truetype');font-weight:800;font-display:swap}
.homepage{--charcoal:#313131;--panel:#d7dfe9;--slide-width:min(640px,45vw);--slide-gap:40px;line-height:1.6;letter-spacing:-.03em}
.homepage .wrap{width:min(1400px,calc(100% - 64px))}
.homepage .topbar{background:#393939;border-bottom:1px solid #ffffff12}
.homepage .topbar .wrap{height:35px;gap:18px}
.homepage .topbar .eyebrow{display:block;font-size:11px;letter-spacing:.02em;color:#b8b8b8}
.homepage .yt-icon{padding:6px;line-height:1}
.homepage header{background:#393939}
.homepage .bar{height:112px;min-height:0;padding:0;flex-wrap:nowrap;gap:34px}
.homepage .logo{gap:12px;font-family:YesonSquare,var(--sans);font-size:28px;line-height:1.12;letter-spacing:-1px}
.homepage .logo small{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:.02em;margin-top:7px;line-height:1.4;color:#ddd}
.homepage img.mark{height:64px;width:48px;padding:4px;flex:none;object-fit:contain;border-radius:3px}
.homepage .bar .top-nav{margin:0 auto;width:auto;overflow:visible}
.homepage .bar .top-nav>ul{gap:clamp(24px,3.8vw,58px);padding:0;min-width:0}
.homepage .bar .top-nav a{font-family:YesonSquare,var(--sans);font-size:20px;font-weight:800;line-height:1.4;letter-spacing:-.7px;padding:18px 0}
.homepage .site-menu{display:block;flex:none;margin:0}
.homepage .site-menu summary{width:40px;height:44px;gap:6px}
.homepage .site-menu summary i{width:27px;height:2px;background:#aaa;margin:0 auto}
.homepage .site-menu nav{width:230px;top:100%;z-index:20;padding:12px 16px}
.homepage .site-menu nav ul{display:grid;gap:0;min-width:0;padding:0}
.homepage .site-menu nav a{font-size:16px;line-height:1.5;padding:13px 8px}
.homepage .hero{background:var(--charcoal);min-height:0;overflow:hidden}
.homepage .hero-inner{display:block;min-height:0;padding:14px 0 44px}
.homepage .hero-top{height:170px;min-height:0;margin:0;gap:24px;align-items:center;justify-content:center}
.homepage .year-tag{font-size:18px;font-weight:400;line-height:1.4;padding:9px 13px;border-radius:0;background:#b9c7e1;letter-spacing:-.7px;white-space:nowrap}
.homepage h1.slogan{font-family:NanumBrush,cursive;font-size:50px;font-weight:400;line-height:.94;letter-spacing:-2px;color:#00ac83;transform:none;margin:0;text-shadow:none}
.homepage .slogan span{display:block;white-space:nowrap}
.homepage .slogan span+span{margin:-18px 0 0 35px}
.homepage .slogan b{font-size:104px;font-weight:400;-webkit-text-stroke:0;line-height:.9;vertical-align:baseline}
.homepage .hero-verse{width:100%;max-width:1240px;margin:10px auto 60px;padding:0;font-size:22px;font-weight:400;line-height:1.65;letter-spacing:-.8px;color:#c8cbd6;text-align:center}
.homepage .hero-verse strong{font-size:20px;font-weight:400;line-height:1.65;letter-spacing:-.4px;color:inherit;margin:0}
.homepage .gallery-wrap{position:relative;display:block;flex:none;width:100vw;margin-left:calc(50% - 50vw);padding:0;overflow:visible}
.homepage .gallery-track{position:relative;display:flex;width:100%;gap:var(--slide-gap);align-items:center}
.homepage .g-slide{flex:0 0 var(--slide-width);width:var(--slide-width);height:auto;aspect-ratio:16/9;margin:0;border-radius:18px;overflow:hidden;background:#222}
.homepage .g-slide img{display:block;width:100%;height:100%;object-fit:cover}
.homepage .hero-bottom{position:static;width:auto;max-width:none;margin:26px 0 0;padding:0;border:0;justify-content:center}
.homepage .hero-dots{gap:6px;align-items:center;height:12px}
.homepage .hero-dots button{width:10px;height:10px;padding:0;position:relative;border:0;background:#d3d3d3;cursor:pointer}
.homepage .hero-dots button::after{content:'';position:absolute;inset:-7px;border-radius:50%}
.homepage .hero-dots button.on{background:#7699d4;border:0}
.homepage .gallery-wrap .carousel-arrows{position:absolute;display:block;inset:0;pointer-events:none}
.homepage .carousel-arrows button{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;padding:0;background:#ffffffe0;border:0;border-radius:50%;color:#777;font:28px/1 Arial,sans-serif;cursor:pointer;pointer-events:auto;box-shadow:0 1px 4px #0002}
.homepage .carousel-arrows button:hover{background:#fff;color:#222}
.homepage .g-prev{left:calc((100% - var(--slide-width))/2 - 24px)}
.homepage .g-next{right:calc((100% - var(--slide-width))/2 - 24px)}
.homepage .welcome{padding:64px 0;background:linear-gradient(110deg,#7599ef 0%,#9c91ee 50%,#c589e8 100%)}
.homepage .feature-grid{width:min(1240px,calc(100% - 64px));display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.homepage .quick-panel,.homepage .sermon-panel{min-height:0;aspect-ratio:.93;border:0;border-radius:20px;background:var(--panel);box-shadow:0 0 10px #42548f99;overflow:hidden}
.homepage .quick-panel{padding:12px}
.homepage .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:100%;gap:8px}
.homepage .quick-grid a,.homepage .quick-grid a:nth-child(n){min-width:0;min-height:0;padding:16px 7px;border-radius:0;display:flex;align-items:center;justify-content:center;font-family:YesonSquare,var(--sans);font-size:clamp(20px,2.2vw,30px);font-weight:800;line-height:1.22;letter-spacing:-1px;text-align:center}
.homepage .quick-grid a:after{background:#0004}
.homepage .quick-grid a span{text-shadow:0 2px 4px #0008}
.homepage .quick-grid a:hover:after{background:#0002}
.homepage .sermon-panel{display:flex;padding:0;gap:0;justify-content:flex-start}
.homepage .sermon-title{display:flex;flex-direction:column;justify-content:center;flex:0 0 23%;padding:20px 12px 15px}
.homepage .sermon-title .section-kicker{font:700 14px/1.2 var(--sans);letter-spacing:0;color:#16181a}
.homepage .sermon-panel h2{font-family:YesonSquare,var(--sans);font-size:32px;line-height:1.25;letter-spacing:-1.4px;margin:2px 0 0}
.homepage .sermon-art{flex:1 1 auto;width:100%;min-height:0;border-radius:0;background-position:center;background-size:cover}
.homepage .sermon-art .play{width:70px;height:70px;border:3px solid #ffffffe6;background:#ffffff25;font-size:29px;padding-left:5px}
.homepage .sermon-meta{flex:0 0 25%;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;margin:0;gap:18px;text-align:left}
.homepage .sermon-meta>span{font-size:20px;font-weight:700;line-height:1.45;letter-spacing:-.6px}
.homepage .pill{flex:none;display:block;max-width:100px;padding:15px 12px;border-radius:12px;background:#537fce;color:white;font-size:14px;line-height:1.5;text-align:center;word-break:keep-all}
@media(max-width:1100px){
 .homepage .bar{height:86px;gap:22px}.homepage .logo{font-size:24px}.homepage img.mark{height:54px;width:41px}
 .homepage .bar .top-nav>ul{gap:24px}.homepage .bar .top-nav a{font-size:16px}
 .homepage .hero-top{height:160px}.homepage h1.slogan{font-size:40px}.homepage .slogan b{font-size:84px}
 .homepage .hero-verse{font-size:19px;margin-bottom:34px}.homepage .hero-verse strong{font-size:14px}
 .homepage .sermon-panel h2{font-size:26px}.homepage .sermon-meta{padding:16px 20px}.homepage .sermon-meta>span{font-size:16px}
}
@media(max-width:850px){
 .homepage{--slide-width:46vw;--slide-gap:28px}.homepage .wrap{width:calc(100% - 40px)}
 .homepage .topbar .wrap{height:28px}.homepage .topbar .eyebrow{font-size:10px}
 .homepage .bar{height:72px;padding:0;flex-wrap:nowrap}.homepage .bar .top-nav{display:none}
 .homepage .logo{font-size:24px}.homepage img.mark{height:50px;width:38px}.homepage .logo small{font-size:8px;margin-top:5px}
 .homepage .hero-inner{padding:4px 0 32px}.homepage .hero-top{height:108px;gap:18px}
 .homepage .year-tag{font-size:14px;line-height:1.4;padding:6px 11px}
 .homepage h1.slogan{font-size:28px;letter-spacing:-1px}.homepage .slogan b{font-size:62px}.homepage .slogan span+span{margin-top:-11px;margin-left:22px}
 .homepage .hero-verse{max-width:780px;font-size:17px;line-height:1.5;letter-spacing:-.6px;margin:0 auto 8px}.homepage .hero-verse strong{font-size:16px;line-height:1.5}
 .homepage .g-slide{border-radius:10px}.homepage .hero-bottom{margin-top:13px}.homepage .hero-dots{gap:5px}.homepage .hero-dots button{width:8px;height:8px}
 .homepage .carousel-arrows button{width:30px;height:30px;font-size:20px}.homepage .g-prev{left:calc((100% - var(--slide-width))/2 - 15px)}.homepage .g-next{right:calc((100% - var(--slide-width))/2 - 15px)}
 .homepage .welcome{padding:44px 0}.homepage .feature-grid{width:calc(100% - 48px);grid-template-columns:1fr 1fr;gap:18px}
 .homepage .quick-panel,.homepage .sermon-panel{border-radius:14px;aspect-ratio:.93}.homepage .quick-panel{padding:7px}.homepage .quick-grid{gap:5px}
 .homepage .quick-grid a,.homepage .quick-grid a:nth-child(n){font-size:19px;letter-spacing:-.8px;padding:8px 3px}
 .homepage .sermon-title{padding:12px 8px 8px}.homepage .sermon-title .section-kicker{font-size:11px}.homepage .sermon-panel h2{font-size:23px;letter-spacing:-1px}
 .homepage .sermon-art .play{width:48px;height:48px;font-size:23px;border-width:2px}.homepage .sermon-meta{padding:10px 14px;gap:10px}.homepage .sermon-meta>span{font-size:14px}.homepage .pill{max-width:70px;padding:12px 9px;font-size:11px;border-radius:9px}
}
@media(max-width:560px){
 .homepage{--slide-width:90vw;--slide-gap:18px}.homepage .wrap{width:calc(100% - 30px)}
 .homepage .topbar .eyebrow{font-size:9px}.homepage .bar{height:58px;gap:10px}.homepage .logo{font-size:21px}.homepage img.mark{height:42px;width:32px}.homepage .logo small{font-size:7px;margin-top:4px}.homepage .site-menu summary i{width:23px}
 .homepage .hero-inner{padding:2px 0 19px}.homepage .hero-top{height:87px;gap:12px}.homepage .year-tag{font-size:11px;padding:4px 6px}
 .homepage h1.slogan{font-size:24px}.homepage .slogan b{font-size:53px}.homepage .slogan span+span{margin-top:-9px;margin-left:18px}
 .homepage .hero-verse{font-size:15px;line-height:1.55;letter-spacing:-.55px;margin:0 auto 13px;padding:0}.homepage .hero-verse br{display:none}.homepage .hero-verse strong{font-size:14px;line-height:1.55}
 .homepage .g-slide{height:auto;aspect-ratio:16/9}.homepage .hero-bottom{margin-top:13px}
 .homepage .welcome{padding:28px 0 34px}.homepage .feature-grid{width:calc(100% - 32px);max-width:400px;grid-template-columns:1fr;gap:24px}
 .homepage .quick-panel{aspect-ratio:1.03}.homepage .sermon-panel{aspect-ratio:.96}.homepage .quick-grid a,.homepage .quick-grid a:nth-child(n){font-size:22px;line-height:1.22}
 .homepage .sermon-panel h2{font-size:24px}.homepage .sermon-meta>span{font-size:16px}.homepage .pill{font-size:12px;max-width:80px}
}
@media(prefers-reduced-motion:reduce){.homepage .gallery-track{transition:none!important}.homepage{scroll-behavior:auto}}

