/* 새생명교회 — 디자인필 */
:root{
  --ink:#1c2230; --sub:#5b6374; --mute:#8a91a0; --line:#e3e6ec; --soft:#f5f7fa;
  --blue:#2468d8; --blue-d:#1a52b3; --navy:#13284f; --purple:#6f4a96;
  --f:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --serif:"Nanum Myeongjo","Noto Serif KR",serif;
  --w:1240px; --gut:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:15px/1.7 var(--f);color:var(--ink);background:#fff;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.nl-in{max-width:var(--w);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.nl-sr,.nl-skip{position:absolute;left:-9999px}
.nl-skip:focus{left:10px;top:10px;z-index:999;background:#fff;padding:8px 12px}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#d6dae2;border-radius:3px}::-webkit-scrollbar-track{background:transparent}

/* ---------- 머리 ---------- */
.nl-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nl-head-in{max-width:var(--w);margin:0 auto;padding:0 var(--gut);height:84px;display:flex;align-items:center;gap:24px}
.nl-logo{display:flex;align-items:center;gap:10px;flex:none}
.nl-logo img{width:40px;height:40px;border-radius:50%}
.nl-logo span{display:flex;flex-direction:column;line-height:1.15}
.nl-logo small{font-size:10.5px;letter-spacing:.14em;color:var(--sub);font-weight:500}
.nl-logo b{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.nl-gnb{flex:1;align-self:stretch;display:flex;justify-content:center}
.nl-gnb-list{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nl-gnb-list>li{position:relative;display:flex;align-items:center}
.nl-d1{display:block;padding:0 12px;font-size:15.5px;font-weight:600;letter-spacing:-.02em;line-height:84px;white-space:nowrap}
.nl-gnb-list>li.on>.nl-d1,.nl-d1:hover{color:var(--blue)}
.nl-d2{list-style:none;margin:0;padding:18px 0 0;position:absolute;top:84px;left:50%;transform:translateX(-50%);min-width:100%;display:none;text-align:center}
.nl-d2 a{display:block;padding:4px 6px;font-size:13.5px;color:var(--sub);white-space:nowrap}
.nl-d2 a:hover,.nl-d2 a[aria-current]{color:var(--blue)}
.nl-mega{position:absolute;left:0;right:0;top:84px;height:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 24px -18px rgba(20,40,80,.25);transition:height .2s}
.nl-header.mega .nl-mega{height:250px}
.nl-header.mega .nl-d2{display:block;z-index:2}
.nl-util{display:flex;align-items:center;gap:14px;flex:none;font-size:13px;color:var(--sub)}
.nl-util a:hover{color:var(--blue)}
.nl-sbtn,.nl-burger{background:none;border:0;cursor:pointer;padding:6px;display:flex}
.nl-burger{display:none;flex-direction:column;gap:5px}
.nl-burger span{width:22px;height:1.6px;background:var(--ink);display:block}
.nl-search{border-top:1px solid var(--line);background:#fff}
.nl-search .nl-head-in{height:72px}
.nl-search input{flex:1;height:44px;border:1px solid var(--line);border-radius:6px;padding:0 14px;font:inherit}
.nl-search button{height:44px;padding:0 22px;border:0;border-radius:6px;background:var(--ink);color:#fff;cursor:pointer}

/* 모바일 메뉴 */
.nl-mmenu{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:#fff;z-index:90;transform:translateX(100%);transition:transform .25s;overflow:auto;box-shadow:-10px 0 30px rgba(0,0,0,.12)}
.nl-mmenu.open{transform:none}
body.nl-lock::after{content:"";position:fixed;inset:0;background:rgba(10,18,35,.35);z-index:80}
.nl-mmenu-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}
.nl-mmenu-top .nl-logo img{width:32px;height:32px}.nl-mmenu-top .nl-logo b{font-size:18px}
.nl-mclose{width:34px;height:34px;border:0;background:none;position:relative;cursor:pointer}
.nl-mclose::before,.nl-mclose::after{content:"";position:absolute;left:7px;top:16px;width:20px;height:1.6px;background:var(--ink);transform:rotate(45deg)}
.nl-mclose::after{transform:rotate(-45deg)}
.nl-mutil{display:flex;gap:8px;padding:14px 20px}
.nl-mutil a{flex:1;text-align:center;border:1px solid var(--line);border-radius:6px;padding:8px 0;font-size:13.5px}
.nl-mnav{list-style:none;margin:0;padding:0 0 10px}
.nl-mnav>li{border-bottom:1px solid var(--line)}
.nl-mnav .nl-d1{line-height:1;padding:16px 20px;font-size:15.5px;position:relative}
.nl-mnav .nl-d1::after{content:"";position:absolute;right:22px;top:19px;width:7px;height:7px;border-right:1.4px solid var(--mute);border-bottom:1.4px solid var(--mute);transform:rotate(45deg);transition:transform .2s}
.nl-mnav li.open .nl-d1::after{transform:rotate(-135deg);top:22px}
.nl-mnav .nl-d2{position:static;transform:none;text-align:left;padding:0 20px 12px;display:none;background:none}
.nl-mnav li.open .nl-d2{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.nl-mnav .nl-d2 a{padding:6px 0;font-size:14px}
.nl-mmenu-info{padding:6px 20px 30px;font-size:12.5px;color:var(--mute);margin:0}

/* ---------- 공통 ---------- */
.nl-eye{margin:0 0 8px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.nl-h2{margin:0 0 14px;font-size:30px;line-height:1.35;font-weight:300;letter-spacing:-.03em}
.nl-h2 b,.nl-h2 span{font-weight:700}
.nl-btn,.nl-btn-line{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;border:1px solid var(--blue)}
.nl-btn{background:var(--blue);color:#fff}.nl-btn:hover{background:var(--blue-d);border-color:var(--blue-d)}
.nl-btn-line{background:#fff;color:var(--blue)}.nl-btn-line:hover{background:var(--blue);color:#fff}
.nl-sec{padding:86px 0}
.nl-small{font-size:13px;color:var(--mute)}

/* 움직임: 화면에 들어오면 살짝 떠오르고, 벗어나면 다시 */
.js [data-rv]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js [data-rv].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-rv]{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- 메인 비주얼 ---------- */
.nl-hero{position:relative;height:clamp(440px,64vh,640px);overflow:hidden;background:var(--navy)}
.nl-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;display:flex;align-items:center}
.nl-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,42,.62) 0%,rgba(9,20,42,.28) 48%,rgba(9,20,42,0) 75%)}
.nl-slide.on{opacity:1}
.nl-hero-txt{position:relative;width:100%;color:#fff}
.nl-hero-eye{margin:0 0 18px;font-size:13px;letter-spacing:.24em;text-transform:uppercase;opacity:.85}
.nl-hero h2{margin:0;font-family:var(--serif);font-weight:400;font-size:46px;line-height:1.35;letter-spacing:-.02em}
.nl-hero h2 span{display:block}
.nl-hero h2 b{font-weight:800;color:#fff3c4}
.nl-hero-sub{margin:22px 0 0;font-size:16px;opacity:.9;max-width:520px}
.nl-slide.on .nl-hero-txt>*{animation:nlUp 1s both}
.nl-slide.on .nl-hero-txt h2{animation-delay:.15s}.nl-slide.on .nl-hero-sub{animation-delay:.3s}
@keyframes nlUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.nl-hero-nav{position:absolute;left:0;right:0;bottom:34px;display:flex;align-items:center;gap:16px;color:#fff}
.nl-hero-nav button{width:38px;height:38px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:none;cursor:pointer;position:relative}
.nl-hero-nav button::after{content:"";position:absolute;left:15px;top:14px;width:8px;height:8px;border-left:1.4px solid #fff;border-bottom:1.4px solid #fff;transform:rotate(45deg)}
.nl-hero-nav .next::after{left:12px;transform:rotate(-135deg)}
.nl-dots{display:flex;gap:8px}
.nl-dots i{width:22px;height:2px;background:rgba(255,255,255,.45);cursor:pointer}
.nl-dots i.on{background:#fff;width:40px}

/* 환영 */
.nl-welcome{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-top:90px;padding-bottom:90px}
.nl-welcome figure{margin:0;border-radius:10px;overflow:hidden;aspect-ratio:4/3}
.nl-welcome figure img{width:100%;height:100%;object-fit:cover;display:block}
.nl-welcome p{color:var(--sub);margin:0 0 12px;font-size:15px}
.nl-welcome .nl-btn-line{margin-top:14px}

/* 영상 */
.nl-vsec{background:var(--soft)}
.nl-sec-head{text-align:center;margin-bottom:38px}
.nl-sec-head p:last-child{margin:0;color:var(--sub)}
.nl-vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nl-vcard{display:block;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 6px 22px -14px rgba(20,40,80,.35);transition:transform .25s,box-shadow .25s}
.nl-vcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px -16px rgba(20,40,80,.45)}
.nl-vthumb{position:relative;display:block;aspect-ratio:16/9;background:#dfe3ea;overflow:hidden}
.nl-vthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.nl-vcard:hover .nl-vthumb img{transform:scale(1.04)}
.nl-vthumb i{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border:1.5px solid #fff;border-radius:50%;background:rgba(0,0,0,.18)}
.nl-vthumb i::after{content:"";position:absolute;left:23px;top:18px;border-left:15px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.nl-vcard b{display:block;padding:16px 18px 2px;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nl-vcard time{display:block;padding:0 18px 16px;font-size:13px;color:var(--mute);font-variant-numeric:tabular-nums}
.nl-more-c{text-align:center;margin:36px 0 0}

/* 목록 3단 */
.nl-lgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}.nl-lbox,.nl-nbox{min-width:0}
.nl-lhead{display:flex;align-items:baseline;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--ink);margin-bottom:6px}
.nl-lhead h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em}
.nl-lhead span{font-size:12.5px;color:var(--mute)}
.nl-lhead a{margin-left:auto;font-size:12.5px;color:var(--sub)}
.nl-lhead a::after{content:" +"}
.nl-lhead a:hover{color:var(--blue)}
.nl-lbox ul,.nl-nbox ul{list-style:none;margin:0;padding:0}
.nl-lbox li,.nl-nbox li{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}
.nl-lbox li a,.nl-nbox li a{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px}
.nl-lbox li a:hover,.nl-nbox li a:hover{color:var(--blue)}
.nl-lbox time,.nl-nbox time{font-size:12.5px;color:var(--mute);font-variant-numeric:tabular-nums;flex:none}

/* 소식·사진 */
.nl-news{padding-top:0}
.nl-ngrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:44px}
.nl-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:12px}
.nl-photos a{position:relative;display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--soft)}
.nl-photos img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.nl-photos a:hover img{transform:scale(1.05)}
.nl-photos span{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 8px;font-size:12.5px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .25s}
.nl-photos a:hover span{opacity:1}

/* 오시는 길 띠 */
.nl-visit{background:var(--navy);color:#fff}
.nl-visit-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:56px;padding-bottom:56px}
.nl-visit .nl-eye{color:#9fc0ff}.nl-visit .nl-h2{margin-bottom:6px}.nl-visit p{margin:0;opacity:.85}
.nl-visit-btns{display:flex;gap:10px;flex-wrap:wrap}
.nl-visit .nl-btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.nl-visit .nl-btn-line:hover{background:#fff;color:var(--navy)}

/* ---------- 꼬리 ---------- */
.nl-footer{background:#0f1d38;color:rgba(255,255,255,.72);font-size:13.5px}
.nl-foot-in{display:flex;align-items:center;gap:36px;padding-top:42px;padding-bottom:42px}
.nl-foot-logo{display:flex;align-items:center;gap:10px;flex:none}
.nl-foot-logo img{width:38px;height:38px;border-radius:50%}
.nl-foot-logo span{display:flex;flex-direction:column;line-height:1.2;color:#fff}
.nl-foot-logo small{font-size:10px;letter-spacing:.14em;opacity:.7}.nl-foot-logo b{font-size:19px}
.nl-foot-info{flex:1;border-left:1px solid rgba(255,255,255,.15);padding-left:36px}
.nl-foot-info p{margin:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.nl-foot-info a:hover{color:#fff}
.nl-copy{margin-top:6px!important;font-size:12px;opacity:.6}
.nl-foot-links{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex:none}
.nl-foot-links a:hover{color:#fff}
.nl-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s;z-index:40;display:flex;align-items:center;justify-content:center}
.nl-top.show{opacity:1;pointer-events:auto}

/* ---------- 서브 ---------- */
.nl-sub{position:relative;background:var(--navy) url("/wp-content/uploads/2023/02/1111.jpg") center/cover no-repeat;color:#fff;padding:64px 0 58px;text-align:center}
.nl-sub::before{content:"";position:absolute;inset:0;background:rgba(12,25,52,.62)}
.nl-sub .nl-in{position:relative}
.nl-sub-eye{margin:0 0 8px;font-size:13px;letter-spacing:.12em;opacity:.8}
.nl-sub h1,.nl-sub-h{margin:0;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.3}
.nl-crumb{margin:12px 0 0;font-size:12.5px;opacity:.75;display:flex;justify-content:center;gap:8px}
.nl-crumb span::before{content:"›";margin-right:8px}
.nl-lnb{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:85px;z-index:30}
.nl-lnb ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:2px;overflow-x:auto;scrollbar-width:none}
.nl-lnb ul::-webkit-scrollbar{display:none}
.nl-lnb a{display:block;padding:16px 18px;font-size:14.5px;color:var(--sub);white-space:nowrap;border-bottom:1px solid transparent;margin-bottom:-1px}
.nl-lnb a:hover{color:var(--ink)}
.nl-lnb a[aria-current]{color:var(--blue);font-weight:700;border-bottom-color:var(--blue)}
.nl-page{padding-top:56px;padding-bottom:96px;min-height:40vh}
.nl-page>*:first-child{margin-top:0}
/* DF 에디터 페이지: 테마 본문 여백 없이 컨테이너 여백만 */
.nl-page:has(>.dfpe-doc){padding-top:0!important;padding-bottom:0!important}
.nl-page>.dfpe-doc{padding-top:0!important;padding-bottom:0!important}

/* 예전 페이지 내용 */
.nl-block{margin:0 0 28px}
.nl-row{display:flex;flex-wrap:wrap;gap:28px;margin:0 0 20px}
.nl-col{flex:1 1 100%;min-width:0}
.nl-col-1_2{flex:1 1 calc(50% - 14px)}.nl-col-1_3{flex:1 1 calc(33.33% - 19px)}.nl-col-2_3{flex:2 1 calc(66.66% - 10px)}
.nl-col-1_4{flex:1 1 calc(25% - 21px)}.nl-col-3_4{flex:3 1 calc(75% - 7px)}.nl-col-1_5{flex:1 1 calc(20% - 23px)}.nl-col-1_6{flex:1 1 calc(16.66% - 24px)}
.nl-page .nl-text{font-size:15.5px;line-height:1.85;color:#2c3242}
.nl-page .nl-text p{margin:0 0 14px}
.nl-page h2.nl-tt{font-size:26px;margin:10px 0 16px;letter-spacing:-.02em}
.nl-page h3.nl-tt{font-size:21px;margin:8px 0 14px;letter-spacing:-.02em;color:var(--navy)}
.nl-page h4.nl-tt{font-size:17px;margin:6px 0 10px}
.nl-page img{border-radius:6px}
.nl-fig{margin:0 0 16px}.nl-fig img{display:block}
.nl-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0 0 24px}
.nl-gal figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:6px}.nl-gal img{width:100%;height:100%;object-fit:cover;border-radius:0}
.nl-video,.nl-map{position:relative;aspect-ratio:16/9;margin:0 0 24px;border-radius:8px;overflow:hidden;background:#000}
.nl-map{aspect-ratio:16/8;background:var(--soft)}
.nl-video iframe,.nl-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.nl-table,.nl-text table{overflow-x:auto}
.nl-page table{border-collapse:collapse;width:100%;font-size:14.5px;margin:0 0 20px}
.nl-page th,.nl-page td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.nl-page th{background:var(--soft)}
.nl-acc{border-bottom:1px solid var(--line)}
.nl-acc summary{padding:14px 4px;cursor:pointer;font-weight:600}
.nl-acc>div{padding:0 4px 14px;color:var(--sub)}
.nl-tabsec{margin:0 0 26px}.nl-tabsec h4{font-size:18px;margin:0 0 10px;color:var(--navy)}
.nl-check{padding-left:20px}.nl-check li{margin:4px 0}
.nl-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0 0 24px}
.nl-box{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff}
.nl-box h4{margin:0 0 8px}
.nl-person{display:flex;gap:18px;align-items:flex-start;margin:0 0 20px}
.nl-person img{width:140px;flex:none}
.nl-person b{display:block;font-size:18px}.nl-person span{color:var(--mute);font-size:13.5px}
.nl-note{border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin:0 0 20px;background:#fff;box-shadow:0 4px 16px -12px rgba(20,40,80,.3)}
.nl-plain{list-style:none;padding:0;margin:0}.nl-plain li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}
.nl-plain span{color:var(--mute);font-size:13px}
.nl-empty,.nl-404 p{color:var(--sub)}

/* 로그인·가입 */
.nl-auth{max-width:440px;margin:0 auto}
.nl-auth h2{font-size:26px;margin:0 0 8px;letter-spacing:-.02em}
.nl-auth-desc{color:var(--sub);font-size:14px;margin:0 0 22px}
.nl-auth-err{color:#c2410c;font-size:14px;margin:0 0 14px}.nl-auth-ok{color:var(--blue);font-size:14px;margin:0 0 14px;font-weight:600}
.nl-auth form p,.nl-join p{margin:0 0 14px}
.nl-auth label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
.nl-auth input[type=text],.nl-auth input[type=password],.nl-auth input[type=email],.nl-auth input[type=tel],.nl-auth input:not([type]){width:100%;height:46px;border:1px solid #cfd4dd;border-radius:6px;padding:0 14px;font:inherit}
.nl-auth input:focus{outline:none;border-color:var(--blue)}
.nl-auth .login-remember label,.nl-agree label{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:13px;color:var(--sub)}
.nl-auth input[type=submit],.nl-auth .nl-btn{width:100%;height:48px;border:0;border-radius:6px;background:var(--blue);color:#fff;font-weight:600;font-size:15px;cursor:pointer}
.nl-auth-links{display:flex;justify-content:center;gap:18px;font-size:13.5px;color:var(--sub);margin-top:18px}
.nl-hp{position:absolute;left:-9999px}

/* ---------- 태블릿 ---------- */
@media (max-width:1180px){
  .nl-gnb,.nl-util>a{display:none}
  .nl-head-in{height:68px;justify-content:space-between}
  .nl-burger{display:flex}
  .nl-mega{display:none}
  .nl-lnb{top:69px}
  .nl-lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nl-lgrid .nl-lbox:last-child{grid-column:1/-1}
  .nl-welcome{gap:40px}
}
/* ---------- 휴대폰 ---------- */
@media (max-width:760px){
  body{font-size:14px}
  .nl-head-in{height:60px}
  .nl-logo img{width:34px;height:34px}.nl-logo b{font-size:18px}.nl-logo small{font-size:9.5px}
  .nl-lnb{top:61px}
  .nl-hero{height:440px}
  .nl-hero h2{font-size:27px}
  .nl-hero-sub{font-size:13.5px;margin-top:14px}
  .nl-hero-eye{font-size:11px;margin-bottom:12px}
  .nl-hero-nav{bottom:22px}
  .nl-sec{padding:56px 0}
  .nl-h2{font-size:22px}
  .nl-welcome{grid-template-columns:1fr;gap:24px;padding-top:52px;padding-bottom:52px}
  .nl-welcome p{font-size:14px}
  .nl-vgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .nl-vgrid .nl-vcard:nth-child(3){display:none}
  .nl-vcard b{font-size:13.5px;padding:10px 10px 0}.nl-vcard time{padding:0 10px 10px;font-size:11.5px}
  .nl-vthumb i{width:40px;height:40px;margin:-20px 0 0 -20px}.nl-vthumb i::after{left:15px;top:11px;border-left-width:12px;border-top-width:8px;border-bottom-width:8px}
  .nl-sec-head{margin-bottom:24px}.nl-sec-head p:last-child{font-size:13.5px}
  .nl-lgrid,.nl-ngrid{grid-template-columns:1fr;gap:36px}
  .nl-lhead h3{font-size:17px}
  .nl-lbox li,.nl-nbox li{padding:9px 0}
  .nl-lbox li a,.nl-nbox li a{font-size:14px}
  .nl-photos{grid-template-columns:repeat(3,1fr);gap:6px}
  .nl-visit-in{flex-direction:column;align-items:flex-start;padding-top:40px;padding-bottom:40px}
  .nl-foot-in{flex-direction:column;align-items:flex-start;gap:16px;padding-top:32px;padding-bottom:80px}
  .nl-foot-info{border:0;padding:0}
  .nl-foot-info p{flex-direction:column;gap:2px}
  .nl-sub{padding:44px 0 40px}
  .nl-sub h1,.nl-sub-h{font-size:24px}
  .nl-lnb ul{justify-content:flex-start}
  .nl-lnb a{padding:13px 12px;font-size:13.5px}
  .nl-page{padding-top:34px;padding-bottom:64px}
  .nl-page .nl-text{font-size:14.5px}
  .nl-row{gap:16px}
  .nl-col-1_2,.nl-col-1_3,.nl-col-2_3,.nl-col-3_4{flex-basis:100%}
  .nl-col-1_4,.nl-col-1_5,.nl-col-1_6{flex-basis:calc(50% - 8px)}
  .nl-gal{grid-template-columns:1fr 1fr;gap:6px}
  .nl-person{flex-direction:column}
  .nl-top{right:14px;bottom:14px;width:40px;height:40px}
}

/* 오시는 길 */
.nl-visitpage .nl-map{aspect-ratio:16/7;margin-bottom:28px}
.nl-vinfo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.nl-vinfo div{padding:20px 18px;border-right:1px solid var(--line)}.nl-vinfo div:last-child{border-right:0}
.nl-vinfo dt{font-size:12.5px;color:var(--mute);margin-bottom:6px}.nl-vinfo dd{margin:0;font-size:15.5px;font-weight:600}
.nl-vbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
@media (max-width:760px){.nl-vinfo{grid-template-columns:1fr 1fr}.nl-vinfo div:nth-child(2){border-right:0}.nl-vinfo div:nth-child(-n+2){border-bottom:1px solid var(--line)}.nl-vinfo dd{font-size:14px}.nl-visitpage .nl-map{aspect-ratio:4/3}}

/* 그누보드식 로케이션 바 */
.nl-loc{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:85px;z-index:30}
.nl-loc-in{display:flex;border-left:1px solid var(--line)}
.nl-loc-home{flex:0 0 58px;display:flex;align-items:center;justify-content:center;height:58px;border-right:1px solid var(--line);color:var(--ink)}
.nl-loc-home:hover{background:var(--navy);color:#fff}
.nl-loc-dd{position:relative;flex:0 0 260px;border-right:1px solid var(--line)}
.nl-loc-dd>button{display:flex;align-items:center;gap:12px;width:100%;height:58px;padding:0 22px;border:0;background:none;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--ink);text-align:left}
.nl-loc-dd>button span{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nl-loc-dd>button::after{content:"";flex:0 0 6px;width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);margin-top:-4px;transition:transform .25s}
.nl-loc-dd.open>button::after{transform:rotate(-135deg);margin-top:4px}
.nl-loc-dd ul{list-style:none;margin:0;position:absolute;left:-1px;right:-1px;top:100%;background:#fff;border:1px solid var(--line);border-top:0;padding:8px 0;display:none;max-height:70vh;overflow-y:auto;box-shadow:0 14px 28px rgba(20,40,80,.08)}
.nl-loc-dd.open ul{display:block}
.nl-loc-dd li a{display:block;padding:9px 22px;font-size:14px;color:var(--sub)}
.nl-loc-dd li a:hover{color:var(--ink);background:var(--soft)}
.nl-loc-dd li.on a{color:var(--blue);font-weight:600}
@media (max-width:1180px){.nl-loc{top:69px}}
@media (max-width:760px){
  .nl-loc{top:61px}.nl-loc .nl-in{padding:0}.nl-loc-in{border-left:0}
  .nl-loc-home{flex-basis:48px;height:48px}
  .nl-loc-dd{flex:1 1 0;min-width:0}.nl-loc-dd:last-child{border-right:0}
  .nl-loc-dd>button{height:48px;padding:0 14px;font-size:13.5px;gap:6px}
  .nl-loc-dd li a{padding:9px 14px;font-size:13.5px}
}

/* =========================================================
   v1.1 — 투명 머리 · 아기자기한 메인 (교회 커뮤니티 느낌)
   ========================================================= */
:root{--sky:#3d8be0;--sun:#f0a83a;--rose:#e9718b;--leaf:#4aa77b;--lav:#8a6cc6;--card:0 10px 30px -18px rgba(30,60,110,.35);--r:18px}
.nl-header{position:fixed;left:0;right:0;top:0;transition:background .3s,border-color .3s,box-shadow .3s}
body{padding-top:0}
.nl-header.over{background:transparent;border-bottom-color:rgba(255,255,255,.18)}
.nl-header.over::before{content:"";position:absolute;inset:0 0 -30px;background:linear-gradient(rgba(10,25,50,.38),rgba(10,25,50,0));pointer-events:none;transition:opacity .3s}
.nl-header.over .nl-logo b,.nl-header.over .nl-logo small,.nl-header.over .nl-d1,.nl-header.over .nl-util,.nl-header.over .nl-util a{color:#fff}
.nl-header.over .nl-burger span{background:#fff}
.nl-header.over.solid,.nl-header.over.mega{background:#fff;border-bottom-color:var(--line);box-shadow:0 6px 20px -16px rgba(20,40,80,.4)}
.nl-header.over.solid::before,.nl-header.over.mega::before{opacity:0}
.nl-header.over.solid .nl-logo b,.nl-header.over.mega .nl-logo b{color:var(--navy)}
.nl-header.over.solid .nl-logo small,.nl-header.over.mega .nl-logo small{color:var(--sub)}
.nl-header.over.solid .nl-d1,.nl-header.over.mega .nl-d1{color:var(--ink)}
.nl-header.over.solid .nl-util,.nl-header.over.solid .nl-util a,.nl-header.over.mega .nl-util,.nl-header.over.mega .nl-util a{color:var(--sub)}
.nl-header.over.solid .nl-burger span,.nl-header.over.mega .nl-burger span{background:var(--ink)}
.nl-header .nl-gnb-list>li.on>.nl-d1,.nl-header .nl-d1:hover{color:var(--sun)}
.nl-header.solid .nl-gnb-list>li.on>.nl-d1,.nl-header.mega .nl-gnb-list>li.on>.nl-d1,.nl-header.solid .nl-d1:hover,.nl-header.mega .nl-d1:hover{color:var(--blue)}
.nl-logo img{box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.nl-sub{padding-top:150px}
.nl-loc{top:84px}

/* 메인 비주얼 */
.nl-hero{height:clamp(560px,calc(100vw / 2.45),820px);background:#cfe0f2}
.nl-slide::before{background:linear-gradient(90deg,rgba(14,32,66,.42) 0%,rgba(14,32,66,.12) 45%,rgba(14,32,66,0) 70%)}
.nl-slide.tone-dark::before{background:linear-gradient(90deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.2) 45%,rgba(255,255,255,0) 70%)}
.nl-hero-txt{padding-top:60px}
.nl-hero h2{font-size:50px;text-shadow:0 2px 18px rgba(10,30,60,.25)}
.nl-hero h2 b{color:#ffe28a}
.nl-slide.tone-dark .nl-hero-txt{color:var(--navy)}
.nl-slide.tone-dark .nl-hero h2,.nl-slide.tone-dark h2{text-shadow:none}
.nl-slide.tone-dark h2 b{color:var(--blue)}
.nl-hero-nav{bottom:96px}

/* 바로가기 */
.nl-quick{position:relative;z-index:5;margin-top:-62px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.nl-qi{background:#fff;border-radius:var(--r);box-shadow:var(--card);padding:22px 10px 18px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .25s,box-shadow .25s}
.nl-qi:hover{transform:translateY(-5px);box-shadow:0 18px 34px -18px rgba(30,60,110,.45)}
.nl-qi b{font-size:15px;font-weight:600}
.c1 .nl-qi-ic,.c1 .nl-lic{color:var(--sky)}.c2 .nl-qi-ic,.nl-lic.c2{color:var(--blue)}.c3 .nl-qi-ic,.c3 .nl-lic{color:var(--rose)}
.c4 .nl-qi-ic,.nl-lic.c4{color:var(--leaf)}.c5 .nl-qi-ic,.c5 .nl-lic{color:var(--sun)}.c6 .nl-qi-ic{color:var(--lav)}

/* 손글씨 느낌 작은 제목 */
.nl-script{margin:0 0 6px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--sun);letter-spacing:.02em}
.nl-btn-round{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 24px;border-radius:999px;background:var(--blue);color:#fff;font-size:14.5px;font-weight:600;transition:.25s;border:1px solid var(--blue)}
.nl-btn-round:hover{background:var(--navy);border-color:var(--navy)}
.nl-btn-round.line{background:#fff;color:var(--blue)}
.nl-btn-round.line:hover{background:var(--blue);color:#fff}

/* 환영 */
.nl-welcome{grid-template-columns:1fr 1fr;gap:70px;padding-top:110px;padding-bottom:100px}
.nl-wel-pics{position:relative;height:440px}
.nl-wel-pics figure{position:absolute;margin:0;background:#fff;padding:10px 10px 34px;border-radius:6px;box-shadow:0 18px 40px -22px rgba(20,40,80,.5)}
.nl-wel-pics img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}
.nl-wel-pics .p1{left:0;top:0;width:66%;height:300px;transform:rotate(-3deg)}
.nl-wel-pics .p2{right:0;bottom:0;width:56%;height:250px;transform:rotate(3.5deg)}
.nl-wel-badge{position:absolute;left:8%;bottom:6%;background:var(--sun);color:#fff;border-radius:50% 50% 50% 8px;width:128px;height:128px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12.5px;line-height:1.45;box-shadow:0 12px 26px -14px rgba(160,100,10,.7)}
.nl-wel-badge b{font-size:14px}
.nl-wel-txt .nl-btn-round{margin-top:16px}

/* 주일 예배 말씀 */
.nl-vsec{background:linear-gradient(180deg,#fff 0%,#eef5fd 100%)}
.nl-vwrap{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:28px;align-items:start}
.nl-vmain{display:block;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--card);transition:transform .25s}
.nl-vmain:hover{transform:translateY(-4px)}
.nl-vmain .nl-vthumb{border-radius:0}
.nl-vmain .nl-vthumb i{width:76px;height:76px;margin:-38px 0 0 -38px;background:rgba(255,255,255,.92);border:0}
.nl-vmain .nl-vthumb i::after{left:31px;top:24px;border-left:20px solid var(--blue);border-top-width:14px;border-bottom-width:14px}
.nl-vmeta{display:block;padding:22px 26px 24px}
.nl-vmeta em{display:inline-block;font-style:normal;font-size:12px;font-weight:700;color:#fff;background:var(--sun);border-radius:999px;padding:3px 12px;margin-bottom:10px}
.nl-vmeta b{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.4}
.nl-vmeta time{display:block;margin-top:6px;font-size:13.5px;color:var(--mute)}
.nl-vlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.nl-vlist a{display:flex;gap:14px;align-items:center;background:#fff;border-radius:14px;padding:10px;box-shadow:0 6px 18px -14px rgba(30,60,110,.4);transition:transform .25s}
.nl-vlist a:hover{transform:translateX(4px)}
.nl-vs{position:relative;flex:0 0 132px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#dfe6f0}
.nl-vs img{width:100%;height:100%;object-fit:cover;display:block}
.nl-vs i{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:rgba(255,255,255,.9)}
.nl-vs i::after{content:"";position:absolute;left:11px;top:8px;border-left:9px solid var(--blue);border-top:6px solid transparent;border-bottom:6px solid transparent}
.nl-vlist b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;font-weight:600;line-height:1.45}
.nl-vlist time{display:block;font-size:12.5px;color:var(--mute);margin-top:3px}
.nl-vlist li>a>span:last-child{min-width:0}
.nl-vall a{justify-content:center;background:transparent;box-shadow:none;color:var(--blue);font-weight:600;font-size:14px;padding:8px}

/* 이야기 3단 카드 */
.nl-lists .nl-sec-head{margin-bottom:34px}
.nl-lgrid{gap:22px}
.nl-lbox,.nl-nbox,.nl-pbox{background:#fff;border-radius:var(--r);box-shadow:var(--card);padding:24px 24px 14px}
.nl-lhead{align-items:center;gap:12px;border-bottom:1px dashed #d9dee7;padding-bottom:14px;margin-bottom:4px}
.nl-lhead div{display:flex;flex-direction:column;line-height:1.3}
.nl-lhead h3{font-size:18px}
.nl-lhead div span{font-size:12px;color:var(--mute);margin-top:2px}
.nl-lic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);flex:none}
.nl-lhead a{border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:12px}
.nl-lhead a::after{content:""}
.nl-lhead a:hover{border-color:var(--blue)}
.nl-lbox li,.nl-nbox li{border-bottom:0;padding:9px 0}
.nl-lbox li a::before,.nl-nbox li a::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;margin:0 9px 2px 2px;vertical-align:middle}
.nl-lbox.c1 li a::before{background:var(--sky);opacity:1}.nl-lbox.c5 li a::before{background:var(--sun);opacity:1}.nl-lbox.c3 li a::before{background:var(--rose);opacity:1}

/* 소식 · 사진 */
.nl-news{padding-top:0}
.nl-ngrid{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.nl-pbox{padding-bottom:22px}
.nl-photos{gap:14px;padding-top:16px}
.nl-photos a{aspect-ratio:auto;background:#fff;border-radius:6px;overflow:visible;padding:7px 7px 0;box-shadow:0 8px 20px -14px rgba(20,40,80,.45);transition:transform .3s}
.nl-photos a:nth-child(odd){transform:rotate(-1.5deg)}.nl-photos a:nth-child(even){transform:rotate(1.5deg)}
.nl-photos a:hover{transform:rotate(0) translateY(-4px)}
.nl-photos .nl-ph{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:3px;opacity:1;padding:0;background:none}
.nl-ph img{width:100%;height:100%;object-fit:cover;display:block}
.nl-photos .nl-pt{position:static;display:block;opacity:1;background:none;color:var(--sub);font-size:12px;padding:7px 2px 8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 오시는 길 */
.nl-visit{background:#fff;color:var(--ink);padding:10px 0 100px}
.nl-visit-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:24px;padding:44px 52px;color:#fff;background:linear-gradient(120deg,rgba(19,40,79,.88),rgba(36,104,216,.72)),url("hero-cross.jpg") 70% 60%/cover}
.nl-visit-card .nl-script{color:#ffe28a}
.nl-visit-card .nl-h2{margin-bottom:8px}
.nl-visit-card p{margin:0;display:flex;align-items:center;gap:6px;opacity:.92}
.nl-visit-card .nl-btn-round{background:#fff;color:var(--navy);border-color:#fff}
.nl-visit-card .nl-btn-round.line{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.nl-visit-card .nl-btn-round:hover{background:var(--sun);border-color:var(--sun);color:#fff}

@media (max-width:1180px){
  .nl-header,.nl-head-in{height:auto}.nl-head-in{height:68px}
  .nl-loc{top:68px}
  .nl-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nl-vwrap{grid-template-columns:1fr}
  .nl-welcome{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:760px){
  .nl-head-in{height:60px}.nl-loc{top:60px}
  .nl-sub{padding-top:104px}
  .nl-hero{height:540px}
  .nl-hero-txt{padding-top:30px}
  .nl-hero h2{font-size:28px}
  .nl-hero-nav{bottom:78px}
  .nl-slide.tone-dark::before{background:linear-gradient(180deg,rgba(255,255,255,.65) 0%,rgba(255,255,255,.25) 55%,rgba(255,255,255,0) 80%)}
  .nl-quick{margin-top:-46px;gap:8px}
  .nl-qi{padding:14px 4px 12px;border-radius:14px;gap:6px}
  .nl-qi svg{width:24px;height:24px}.nl-qi b{font-size:12.5px}
  .nl-welcome{grid-template-columns:1fr;padding-top:60px;padding-bottom:56px;gap:30px}
  .nl-wel-pics{height:300px}
  .nl-wel-pics .p1{height:200px}.nl-wel-pics .p2{height:170px}
  .nl-wel-badge{width:96px;height:96px;font-size:10.5px}.nl-wel-badge b{font-size:12px}
  .nl-script{font-size:15px}
  .nl-vmeta{padding:16px 18px}.nl-vmeta b{font-size:17px}
  .nl-vmain .nl-vthumb i{width:56px;height:56px;margin:-28px 0 0 -28px}.nl-vmain .nl-vthumb i::after{left:23px;top:17px;border-left-width:15px;border-top-width:11px;border-bottom-width:11px}
  .nl-vs{flex-basis:108px}
  .nl-vgrid .nl-vcard:nth-child(3){display:block}
  .nl-lbox,.nl-nbox,.nl-pbox{padding:18px 18px 10px}
  .nl-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .nl-photos .nl-pt{font-size:11px}
  .nl-visit{padding-bottom:60px}
  .nl-visit-card{flex-direction:column;align-items:flex-start;padding:32px 24px;border-radius:18px}
}

/* ===== v1.2 메인 전체 화면 히어로 ===== */
.nl-header.over.light{border-bottom-color:rgba(19,40,79,.1)}
.nl-header.over.light::before{background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,0))}
.nl-header.over.light .nl-logo b,.nl-header.over.light .nl-d1{color:var(--navy)}
.nl-header.over.light .nl-logo small,.nl-header.over.light .nl-util,.nl-header.over.light .nl-util a{color:#4a5a78}
.nl-header.over.light .nl-burger span{background:var(--navy)}
.nl-header.over.light .nl-d1:hover{color:var(--blue)}
.nl-hero{height:100vh;height:100svh;min-height:720px;max-height:none;background:#e9eef6}
.nl-slide{align-items:flex-start;transform:scale(1.04);transition:opacity 1.3s ease,transform 7s ease}
.nl-slide.on{transform:scale(1)}
.nl-slide::before,.nl-slide.tone-dark::before{background:linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.5) 32%,rgba(255,255,255,0) 62%),linear-gradient(0deg,rgba(13,30,60,.28) 0%,rgba(13,30,60,0) 30%)}
.nl-hero-txt{padding-top:calc(16vh + 40px);color:var(--navy)}
.nl-hero-eye{color:var(--blue);opacity:1;font-weight:600;letter-spacing:.22em}
.nl-hero h2,.nl-slide .nl-hero-txt h2{font-size:clamp(40px,4.4vw,66px);line-height:1.28;font-weight:400;color:var(--navy);text-shadow:none;letter-spacing:-.035em}
.nl-hero h2 span:first-child{font-weight:300}
.nl-hero h2 b,.nl-slide h2 b{font-weight:800;color:var(--navy)}
.nl-hero-sub{margin-top:26px;font-size:17px;line-height:1.75;color:#33405a;opacity:1}
.nl-hero-cta{display:inline-flex;align-items:center;gap:16px;margin-top:38px;padding-bottom:8px;border-bottom:1px solid rgba(19,40,79,.35);color:var(--navy);font-size:16px;font-weight:600;transition:.25s}
.nl-hero-cta i{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(19,40,79,.4);transition:.25s}
.nl-hero-cta:hover{color:var(--blue);border-color:var(--blue)}
.nl-hero-cta:hover i{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateX(4px)}
.nl-slide.on .nl-hero-cta{animation-delay:.45s}
.nl-hero-count{position:absolute;left:0;right:0;bottom:calc(var(--qh,128px) + 60px);z-index:4;pointer-events:none}
.nl-hero-count .nl-dots{display:flex;gap:26px;pointer-events:auto}
.nl-hero-count .nl-dots i{width:auto;height:auto;background:none;font-style:normal;font-size:14px;font-weight:600;color:rgba(19,40,79,.4);padding-bottom:6px;border-bottom:2px solid transparent;cursor:pointer;transition:.3s;letter-spacing:.06em}
.nl-hero-count .nl-dots i.on{color:var(--navy);border-bottom-color:var(--navy);width:auto;padding-right:22px}
.nl-hero-side{position:absolute;right:max(24px,calc((100vw - 1280px)/2 - 70px));top:50%;transform:translateY(-60%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:16px}
.nl-hero-side button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;position:relative;transition:.25s}
.nl-hero-side button::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-left:1.6px solid #fff;border-top:1.6px solid #fff;transform:translate(-50%,-25%) rotate(45deg)}
.nl-hero-side .next::after{transform:translate(-50%,-75%) rotate(-135deg)}
.nl-hero-side button:hover{background:#fff}.nl-hero-side button:hover::after{border-color:var(--navy)}
.nl-hero-side em{font-style:normal;font-size:11px;letter-spacing:.3em;color:#fff;writing-mode:vertical-rl;padding:8px 0;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.nl-hero-side em::before,.nl-hero-side em::after{content:"";display:block;width:1px;height:26px;background:rgba(255,255,255,.7);margin:8px auto}
.nl-hero .nl-quick{position:absolute;left:0;right:0;bottom:34px;margin:0 auto;z-index:5;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.nl-hero .nl-qi{position:relative;flex-direction:row;align-items:center;gap:12px;padding:22px 16px 22px 18px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 14px 34px -22px rgba(13,30,60,.55);color:var(--navy)}
.nl-hero .nl-qi:hover{background:rgba(255,255,255,.92);transform:translateY(-6px)}
.nl-qi-ic{flex:none;display:flex;color:var(--blue)}
.nl-qi-t{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.nl-hero .nl-qi b{font-size:16px;font-weight:700;color:var(--navy)}
.nl-qi-t small{font-size:12px;color:#55627c;line-height:1.4;word-break:keep-all}
.nl-qi-go{flex:none;align-self:flex-end;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid rgba(19,40,79,.25);color:var(--navy);font-style:normal;transition:.25s}
.nl-hero .nl-qi:hover .nl-qi-go{background:var(--blue);border-color:var(--blue);color:#fff}
@media (max-width:1180px){
  .nl-hero .nl-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nl-hero-count{bottom:calc(var(--qh,190px) + 50px)}
  .nl-hero-side{display:none}
}
@media (max-width:760px){
  .nl-hero{min-height:660px}
  .nl-slide::before,.nl-slide.tone-dark::before{background:linear-gradient(180deg,rgba(255,255,255,.8) 0%,rgba(255,255,255,.5) 40%,rgba(255,255,255,0) 62%),linear-gradient(0deg,rgba(13,30,60,.3) 0%,rgba(13,30,60,0) 35%)}
  .nl-hero-txt{padding-top:96px}
  .nl-hero h2,.nl-slide .nl-hero-txt h2{font-size:30px}
  .nl-hero-sub{font-size:14px;margin-top:14px}
  .nl-hero-cta{margin-top:22px;font-size:14px;gap:12px}.nl-hero-cta i{width:32px;height:32px}
  .nl-hero .nl-quick{bottom:18px;gap:8px}
  .nl-hero .nl-qi{flex-direction:column;align-items:center;text-align:center;padding:14px 6px 12px;border-radius:14px;gap:6px}
  .nl-hero .nl-qi svg{width:24px;height:24px}
  .nl-hero .nl-qi b{font-size:13px}
  .nl-qi-t small,.nl-qi-go{display:none}
  .nl-qi-t{align-items:center}
  .nl-hero-count .nl-dots{gap:16px}.nl-hero-count .nl-dots i{font-size:12.5px}
}
@media (min-width:1181px){
  .nl-hero .nl-quick{max-width:1320px;width:calc(100% - 48px);padding:0;gap:14px}
  .nl-hero .nl-qi{align-items:flex-start;padding:22px 14px 20px 18px}
  .nl-hero .nl-qi-ic{margin-top:2px}
  .nl-hero .nl-qi b{padding-right:22px}
  .nl-hero .nl-qi-go{position:absolute;right:12px;top:14px;width:24px;height:24px}
  .nl-qi-t small{font-size:12.5px}
}

/* ===== v1.2 환영 (왼쪽 사진 뒤는 아주 연한 회색만) ===== */
.nl-welwrap{position:relative;overflow:hidden;background:#fff}
.nl-welwrap::before{content:"";position:absolute;inset:0 0 0 45%;background:url("hero-bible.jpg") 70% 60%/cover no-repeat;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}
.nl-welwrap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 46%,rgba(255,255,255,.82) 70%,rgba(255,255,255,.35) 100%);pointer-events:none}
.nl-welwrap .nl-welcome{position:relative;z-index:1;grid-template-columns:1.05fr 1fr;gap:80px;padding-top:120px;padding-bottom:120px}
.nl-wel-pics{height:500px}
.nl-wel-pics::before{content:"";position:absolute;left:-6%;top:6%;width:96%;height:90%;border-radius:46% 54% 48% 52%/52% 44% 56% 48%;background:#f3f4f6;z-index:-1}
.nl-wel-pics figure{padding:10px;border-radius:8px;box-shadow:0 22px 44px -26px rgba(20,40,80,.45)}
.nl-wel-pics .p1{left:2%;top:4%;width:64%;height:330px;transform:rotate(-2.5deg)}
.nl-wel-pics .p2{right:0;bottom:4%;width:58%;height:290px;transform:rotate(2deg)}
.nl-wel-badge{left:4%;bottom:2%;width:150px;height:150px;border-radius:50%;background:#efa23f;color:#fff;font-family:"Nanum Pen Script",cursive;font-size:24px;line-height:1.08;text-align:left;justify-content:center;gap:2px;padding:0 6px 0 20px;box-shadow:0 14px 28px -16px rgba(170,100,20,.7);z-index:2}
.nl-wel-badge svg{flex:none;opacity:.85;margin-top:-6px}
.nl-wel-eye{margin:0 0 18px;font-size:13px;letter-spacing:.24em;color:#7d8aa3;text-transform:uppercase}
.nl-wel-h{margin:0;font-size:clamp(30px,3vw,44px);line-height:1.3;font-weight:700;letter-spacing:-.035em;color:var(--blue)}
.nl-wel-h span{color:var(--navy)}
.nl-wel-bar{display:block;width:46px;height:3px;background:var(--blue);margin:26px 0 24px;border-radius:2px}
.nl-wel-txt p:not(.nl-wel-eye){color:#46526a;font-size:16px;line-height:1.8}
.nl-wel-txt .nl-small{font-size:13.5px;color:#8792a8}
.nl-wel-btn{display:inline-flex;align-items:center;gap:18px;height:58px;padding:0 34px;margin-top:20px;border-radius:999px;background:var(--blue);color:#fff;font-size:16px;font-weight:600;box-shadow:0 14px 26px -16px rgba(36,104,216,.8);transition:.25s}
.nl-wel-btn:hover{background:var(--navy);transform:translateY(-2px)}
.nl-wel-btn svg{transition:transform .25s}.nl-wel-btn:hover svg{transform:translateX(4px)}
@media (max-width:1180px){.nl-welwrap .nl-welcome{gap:44px}.nl-wel-pics{height:420px}.nl-wel-pics .p1{height:270px}.nl-wel-pics .p2{height:240px}}
@media (max-width:760px){
  .nl-welwrap::before{inset:auto 0 0 0;height:45%;-webkit-mask-image:linear-gradient(180deg,transparent,#000);mask-image:linear-gradient(180deg,transparent,#000)}
  .nl-welwrap::after{background:linear-gradient(180deg,#fff 55%,rgba(255,255,255,.6))}
  .nl-welwrap .nl-welcome{grid-template-columns:1fr;gap:36px;padding-top:64px;padding-bottom:64px}
  .nl-wel-pics{height:330px}.nl-wel-pics .p1{height:210px}.nl-wel-pics .p2{height:180px}
  .nl-wel-badge{width:108px;height:108px;font-size:18px;padding-left:14px}.nl-wel-badge svg{width:24px;height:44px}
  .nl-wel-txt p:not(.nl-wel-eye){font-size:14.5px}
  .nl-wel-btn{height:50px;padding:0 26px;font-size:15px}
}

/* ===== v1.3 주일 예배 말씀 (우리 사진 위에 유튜브 제목 자동 + 지난 설교 목록) ===== */
.nl-sec-head .nl-h2{font-size:40px;margin-bottom:12px}
.nl-sec-head .nl-script{font-size:19px}
.nl-sec-head p:last-of-type{font-size:16px}
.nl-head-bar{display:block;width:90px;height:1px;margin:22px auto 0;background:linear-gradient(90deg,#e3e8f0 0,#e3e8f0 30%,var(--blue) 30%,var(--blue) 70%,#e3e8f0 70%)}
.nl-vsec2{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fafbfd 100%);border-top:1px solid #eef0f4}
.nl-vdeco{position:absolute;border-radius:50%;pointer-events:none;filter:blur(10px)}
.nl-vdeco.d1{left:-160px;top:-180px;width:520px;height:520px;background:radial-gradient(circle,rgba(205,226,250,.55),rgba(205,226,250,0) 70%)}
.nl-vdeco.d2{right:-200px;bottom:-160px;width:560px;height:560px;background:radial-gradient(circle,rgba(220,232,250,.6),rgba(220,232,250,0) 70%)}
.nl-vsec2 .nl-in{position:relative}
.nl-vw{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:24px;align-items:stretch}
.nl-vbig{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px -28px rgba(20,40,80,.45);border:1px solid #edf0f5}
.nl-vstage{position:relative;aspect-ratio:16/9;background:#0d1a33}
.nl-vstage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.nl-vcover{position:absolute;inset:0;display:block;width:100%;padding:0;border:0;cursor:pointer;background:#0d1a33 center/cover no-repeat;text-align:left;color:#fff;overflow:hidden}
.nl-vcover::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,22,48,.82) 0%,rgba(9,22,48,.55) 42%,rgba(9,22,48,.08) 78%);transition:opacity .4s}
.nl-vcover:hover::before{opacity:.9}
.nl-vc-txt{position:absolute;left:7%;top:50%;transform:translateY(-50%);width:58%;display:flex;flex-direction:column}
.nl-vc-eye{font-size:12px;letter-spacing:.32em;color:#f3cf86;margin-bottom:16px}
.nl-vc-t{font-family:var(--serif);font-size:clamp(26px,2.6vw,40px);font-weight:800;line-height:1.3;letter-spacing:-.03em;word-break:keep-all;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.nl-vc-ref{margin-top:14px;font-size:16px;font-weight:500;opacity:.95}
.nl-vc-meta{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.35);font-size:14px;opacity:.9;width:max-content;max-width:100%}
.nl-vc-meta i{width:3px;height:3px;border-radius:50%;background:currentColor}
.nl-vc-play{position:absolute;right:12%;top:50%;width:84px;height:84px;margin-top:-42px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 14px 34px -10px rgba(0,0,0,.5);transition:transform .3s}
.nl-vc-play::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(255,255,255,.55)}
.nl-vc-play::after{content:"";position:absolute;left:35px;top:27px;border-left:22px solid var(--blue);border-top:15px solid transparent;border-bottom:15px solid transparent}
.nl-vcover:hover .nl-vc-play{transform:scale(1.07)}
.nl-vcap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px 22px}
.nl-vcap>div{min-width:0}
.nl-vcap em{display:block;font-style:normal;font-size:13px;font-weight:700;color:var(--blue);margin-bottom:6px}
.nl-vcap b{display:block;font-size:23px;font-weight:700;letter-spacing:-.03em;line-height:1.35;color:var(--navy)}
.nl-vcap time{display:block;margin-top:6px;font-size:14px;color:#7f899c}
.nl-vyt{flex:none;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:1px solid #dfe4ec;border-radius:999px;font-size:14px;font-weight:600;color:#222;background:#fff;transition:.2s}
.nl-vyt span{color:#9aa3b3;transition:.2s}
.nl-vyt:hover{border-color:#e62117}.nl-vyt:hover span{color:#e62117;transform:translateX(3px)}
.nl-vrows{list-style:none;margin:0;padding:4px 0 10px;border-top:1px solid #eef1f6}
.nl-vrows li+li{border-top:1px solid #f2f4f8}
.nl-vrows button{display:flex;align-items:center;gap:14px;width:100%;padding:14px 28px;border:0;background:none;cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:background .2s}
.nl-vrows button:hover{background:#f6f9fe}
.nl-vr-ic{flex:none;position:relative;width:26px;height:26px;border-radius:50%;border:1px solid #c9d8f2}
.nl-vr-ic::after{content:"";position:absolute;left:10px;top:7.5px;border-left:8px solid var(--blue);border-top:5.5px solid transparent;border-bottom:5.5px solid transparent}
.nl-vrows b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15.5px;font-weight:600;letter-spacing:-.02em}
.nl-vrows small{flex:none;font-size:13px;color:#8a94a6}
.nl-vrows time{flex:none;width:84px;text-align:right;font-size:13px;color:#9aa3b3}
.nl-vrows button:hover b,.nl-vrows button.on b{color:var(--blue)}
.nl-vrows button.on .nl-vr-ic{background:var(--blue);border-color:var(--blue)}.nl-vrows button.on .nl-vr-ic::after{border-left-color:#fff}
.nl-vside{display:flex;flex-direction:column;gap:16px}
.nl-wsc{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:16px}
.nl-wsc a,.nl-vbn-pray,.nl-vbn-way{position:relative;background:#fff;border:1px solid #edf0f5;border-radius:16px;box-shadow:0 12px 30px -24px rgba(20,40,80,.5);transition:.25s}
.nl-wsc a{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:24px 22px}
.nl-wsc a:hover,.nl-vbn-pray:hover,.nl-vbn-way:hover{transform:translateY(-4px);border-color:#c7d8f5;box-shadow:0 18px 34px -22px rgba(36,104,216,.5)}
.nl-wsc-ic,.nl-vbn-ic{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:13px;margin-bottom:auto}
.nl-wsc-ic{margin-bottom:22px}
.t1{background:#ebf2ff;color:#2468d8}.t2{background:#efedff;color:#6656d6}.t3{background:#e6f6f0;color:#1a9a72}.t4{background:#fff1e5;color:#e0782a}
.nl-wsc b{font-size:19px;font-weight:700;color:var(--navy);letter-spacing:-.03em}
.nl-wsc small{font-size:13.5px;color:#7d879b}
.nl-go{position:absolute;right:20px;top:24px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #dbe4f3;color:var(--blue);font-style:normal;transition:.25s}
a:hover>.nl-go{background:var(--blue);border-color:var(--blue);color:#fff}
.nl-vbn{position:relative;display:flex;align-items:center;gap:16px;border-radius:16px;transition:.25s}
.nl-vbn span{display:flex;flex-direction:column}
.nl-vbn small{font-size:13px;color:#7d879b}
.nl-vbn b{font-size:19px;font-weight:700;letter-spacing:-.03em;color:var(--navy)}
.nl-vbn-new{min-height:150px;padding:26px 80px 26px 30px;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(10,22,44,.9) 0%,rgba(10,22,44,.62) 45%,rgba(10,22,44,.05) 85%),url("hero-hands.jpg") 70% 52%/cover;box-shadow:0 16px 34px -22px rgba(10,22,44,.8);border:0}
.nl-vbn-new span{gap:4px}
.nl-vbn-new small{color:rgba(255,255,255,.85);font-size:14px}
.nl-vbn-new b{color:#fff;font-size:27px}
.nl-vbn-new em{font-style:normal;font-size:14px;color:rgba(255,255,255,.88);margin-top:2px}
.nl-vbn-new .nl-go{top:50%;margin-top:-20px;width:40px;height:40px;border-color:rgba(255,255,255,.7);color:#fff}
.nl-vbn-new:hover{transform:translateY(-4px)}
.nl-vbn-new:hover .nl-go{background:#fff;border-color:#fff;color:var(--navy)}
.nl-vbn2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nl-vbn-pray,.nl-vbn-way{padding:20px 62px 20px 20px}
.nl-vbn-pray .nl-vbn-ic,.nl-vbn-way .nl-vbn-ic{margin:0;width:48px;height:48px;flex:none}
.nl-vbn-pray .nl-go,.nl-vbn-way .nl-go{top:50%;margin-top:-18px;right:16px}
@media (max-width:1180px){.nl-vw{grid-template-columns:1fr}.nl-wsc{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){
  .nl-sec-head .nl-h2{font-size:27px}.nl-sec-head .nl-script{font-size:16px}.nl-sec-head p:last-of-type{font-size:13.5px}
  .nl-head-bar{margin-top:16px}
  .nl-vbig,.nl-wsc a,.nl-vbn{border-radius:14px}
  .nl-vc-txt{left:6%;width:66%}
  .nl-vc-eye{font-size:9.5px;letter-spacing:.24em;margin-bottom:8px}
  .nl-vc-t{font-size:19px}
  .nl-vc-ref{font-size:12px;margin-top:6px}
  .nl-vc-meta{font-size:11px;margin-top:10px;padding-top:8px;gap:6px}
  .nl-vc-play{width:50px;height:50px;margin-top:-25px;right:7%}.nl-vc-play::before{inset:-7px}.nl-vc-play::after{left:20px;top:16px;border-left-width:14px;border-top-width:9px;border-bottom-width:9px}
  .nl-vcap{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 18px 16px}
  .nl-vcap b{font-size:18px}.nl-vcap time{font-size:12.5px}
  .nl-vyt{height:40px;font-size:13px;padding:0 16px}
  .nl-vrows button{padding:12px 18px;gap:10px}
  .nl-vrows b{font-size:14px}.nl-vrows small{display:none}.nl-vrows time{width:auto;font-size:12px}
  .nl-vside,.nl-vbn2{gap:10px}
  .nl-wsc{grid-template-columns:1fr 1fr;gap:10px}
  .nl-wsc a{padding:16px 14px}.nl-wsc-ic{width:40px;height:40px;border-radius:11px;margin-bottom:14px}.nl-wsc-ic svg{width:22px;height:22px}
  .nl-wsc b{font-size:15.5px}.nl-wsc small{font-size:12px}
  .nl-go{width:30px;height:30px;right:12px;top:14px}.nl-go svg{width:14px;height:14px}
  .nl-vbn-new{min-height:120px;padding:20px 60px 20px 20px}.nl-vbn-new b{font-size:21px}.nl-vbn-new em{font-size:12px}.nl-vbn-new .nl-go{margin-top:-17px;width:34px;height:34px}
  .nl-vbn-pray,.nl-vbn-way{padding:14px 44px 14px 12px;gap:10px}.nl-vbn-pray .nl-vbn-ic,.nl-vbn-way .nl-vbn-ic{width:38px;height:38px}.nl-vbn-ic svg{width:21px;height:21px}
  .nl-vbn b{font-size:15.5px}.nl-vbn small{font-size:11.5px}
  .nl-vbn-pray .nl-go,.nl-vbn-way .nl-go{right:10px;margin-top:-15px}
}
.nl-wsc a.t1,.nl-wsc a.t2,.nl-wsc a.t3,.nl-wsc a.t4{background:#fff}
.nl-wsc a.t1 .nl-wsc-ic{background:#ebf2ff;color:#2468d8}.nl-wsc a.t2 .nl-wsc-ic{background:#efedff;color:#6656d6}
.nl-wsc a.t3 .nl-wsc-ic{background:#e6f6f0;color:#1a9a72}.nl-wsc a.t4 .nl-wsc-ic{background:#fff1e5;color:#e0782a}
.nl-wsc a{justify-content:flex-start}
.nl-wsc-ic{margin-bottom:auto!important}
.nl-wsc a b{margin-top:22px}
.nl-vc-t{text-wrap:balance}
.nl-vbn-new{min-height:170px}
.nl-vbn-pray,.nl-vbn-way{min-height:96px}
@media (max-width:760px){.nl-wsc a b{margin-top:12px}.nl-vbn-new{min-height:120px}.nl-vbn-pray,.nl-vbn-way{min-height:0}}
@media (max-width:760px){.nl-vbn-pray,.nl-vbn-way{padding-right:12px}.nl-vbn-pray .nl-go,.nl-vbn-way .nl-go{display:none}.nl-vbn small{white-space:nowrap}.nl-vc-txt{width:60%}}

/* ===== v1.4 새생명 이야기 + 교회 소식 + 포토 갤러리 ===== */
.nl-story{position:relative;background:linear-gradient(180deg,#fafbfd 0%,#fff 100%);overflow:hidden}
.nl-story .nl-sec-head{margin-bottom:44px}
.nl-st3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nl-st2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:22px}
.nl-stbox{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #edf0f5;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px -30px rgba(20,40,80,.5);transition:transform .3s,box-shadow .3s}
.nl-stbox:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(20,40,80,.55)}
.nl-st-head{position:relative;display:flex;align-items:center;gap:16px;min-height:112px;padding:20px 22px;overflow:hidden;background:var(--hb,#eef4fd)}
.nl-st-head::before{content:"";position:absolute;top:0;right:0;bottom:0;width:62%;background:var(--img) center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.85) 55%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.85) 55%);opacity:.9}
.nl-st-head::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--hb,#eef4fd) 30%,transparent 75%);pointer-events:none}
.nl-st-head>*{position:relative;z-index:1}
.nl-st-ic{flex:none;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#fff;color:var(--kc,#2468d8);box-shadow:0 8px 20px -12px rgba(20,40,80,.45)}
.nl-st-head div{display:flex;flex-direction:column;gap:3px;min-width:0}
.nl-st-head h3{margin:0;font-size:22px;font-weight:800;letter-spacing:-.035em;color:var(--navy)}
.nl-st-head div span{font-size:13.5px;color:#6c778c}
.nl-st-more{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.92);font-size:13.5px;font-weight:600;color:var(--kc,#2468d8);box-shadow:0 6px 16px -10px rgba(20,40,80,.4);transition:.25s}
.nl-st-more:hover{background:var(--kc,#2468d8);color:#fff}
.nl-st-list{list-style:none;margin:0;padding:8px 26px 14px;flex:1}
.nl-st-list li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eff1f5}
.nl-st-list li:last-child{border-bottom:0}
.nl-st-list li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--kc,#2468d8)}
.nl-st-list.ring li::before{width:7px;height:7px;background:none;border:1.5px solid var(--kc,#2468d8);box-sizing:border-box}
.nl-st-list a{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;color:#2a3244;letter-spacing:-.02em}
.nl-st-list a:hover{color:var(--kc,#2468d8)}
.nl-st-list time{flex:none;font-size:13.5px;color:#9aa3b3;font-variant-numeric:tabular-nums}
.k1{--kc:#2468d8;--hb:#e9f1fd}.k2{--kc:#e8932b;--hb:#fdf1e2}.k3{--kc:#e0587d;--hb:#fceaf0}.k4{--kc:#2468d8;--hb:#e9f1fd}.k5{--kc:#1a9a72;--hb:#fff}
.nl-st-leaf{background:linear-gradient(90deg,#e9f1fd 0%,#f4f8fe 60%,#fbfcff 100%)}
.nl-st-leaf::before,.nl-st-leaf2::before{display:none}.nl-st-leaf::after,.nl-st-leaf2::after{display:none}
.nl-st-leaf2{background:linear-gradient(90deg,#fff 0%,#f6faf7 100%);border-bottom:1px solid #f0f2f6}
.nl-st2 .k4{position:relative}
.nl-st2 .k4::after{content:"";position:absolute;right:26px;bottom:18px;width:90px;height:120px;opacity:.07;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 80' fill='none' stroke='%2313284f' stroke-width='2'%3E%3Cpath d='M30 2v14M23 8h14M14 78V40l16-14 16 14v38M8 78h44M24 78V62a6 6 0 0 1 12 0v16'/%3E%3C/svg%3E") center/contain no-repeat}
.nl-stgal{padding-bottom:18px}
.nl-gal-view{overflow:hidden;padding:18px 22px 0}
.nl-gal-track{display:flex;gap:14px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nl-gal-item{flex:0 0 calc((100% - 28px)/3);min-width:0;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #eef0f4;border-radius:12px;padding:8px 8px 12px;box-shadow:0 10px 22px -18px rgba(20,40,80,.5)}
.nl-gal-img{display:block;aspect-ratio:1/0.86;border-radius:8px;overflow:hidden;background:#eef1f6}
.nl-gal-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.nl-gal-item:hover img{transform:scale(1.05)}
.nl-gal-t{font-size:14px;text-align:center;color:#2a3244;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.nl-gal-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 0}
.nl-gal-nav button{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid #dfe4ec;background:#fff;cursor:pointer;transition:.2s}
.nl-gal-nav button::after{content:"";position:absolute;left:15px;top:13px;width:8px;height:8px;border-left:1.4px solid #6c778c;border-bottom:1.4px solid #6c778c;transform:rotate(45deg)}
.nl-gal-nav .next::after{left:11px;transform:rotate(-135deg)}
.nl-gal-nav button:hover{border-color:var(--blue)}
.nl-gal-dots{display:flex;gap:7px}
.nl-gal-dots i{width:8px;height:8px;border-radius:999px;background:#d7dde7;cursor:pointer;transition:.3s}
.nl-gal-dots i.on{width:26px;background:var(--blue)}
@media (max-width:1180px){.nl-st3{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-st3 .nl-stbox:last-child{grid-column:1/-1}.nl-st2{grid-template-columns:1fr}}
@media (max-width:760px){
  .nl-story .nl-sec-head{margin-bottom:28px}
  .nl-st3{grid-template-columns:1fr;gap:14px}.nl-st2{gap:14px;margin-top:14px}
  .nl-stbox{border-radius:14px}
  .nl-st-head{min-height:84px;padding:14px 16px;gap:12px}
  .nl-st-ic{width:46px;height:46px}.nl-st-ic svg{width:21px;height:21px}
  .nl-st-head h3{font-size:17.5px}.nl-st-head div span{font-size:12px}
  .nl-st-more{height:30px;padding:0 12px;font-size:12px}
  .nl-st-list{padding:4px 16px 8px}
  .nl-st-list li{padding:10px 0;gap:9px}
  .nl-st-list a{font-size:14px}.nl-st-list time{font-size:12px}
  .nl-gal-view{padding:14px 14px 0}.nl-gal-track{gap:10px}
  .nl-gal-item{flex-basis:calc((100% - 10px)/2);padding:6px 6px 10px}
  .nl-gal-t{font-size:12.5px}
  .nl-gal-nav{padding:12px 14px 0}
}
.nl-gal-view{padding:0 0 10px;margin:18px 22px 0}
.nl-gal-img{aspect-ratio:1/1}
.nl-stgal{justify-content:flex-start}.nl-stgal .nl-gal-nav{margin-top:auto}
@media (max-width:760px){.nl-gal-view{padding:0 0 8px;margin:14px 14px 0}}
@media (min-width:1181px){.nl-stgal .nl-gal-img{aspect-ratio:1/1.12}}
@media (max-width:760px){.nl-st2 .k4::after{display:none}}

/* ===== v1.4.3 모바일 메뉴: 그누보드식 2단 (왼쪽 1차, 오른쪽 2차) ===== */
.nl-mmenu{inset:0;width:100%;max-width:none;display:flex;flex-direction:column;overflow:hidden;box-shadow:none;transform:translateX(100%);transition:transform .3s ease}
.nl-mmenu-top{flex:none;height:60px;padding:0 20px;border-bottom:1px solid #edf0f4}
.nl-mclose{position:relative;width:36px;height:36px;border:0;background:none;cursor:pointer}
.nl-mclose::before,.nl-mclose::after{content:"";position:absolute;left:8px;top:17px;width:20px;height:1.5px;background:var(--navy);transform:rotate(45deg)}
.nl-mclose::after{transform:rotate(-45deg)}
.nl-mquick{flex:none;display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy)}
.nl-mquick a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 4px 13px;color:#fff;font-size:12px}
.nl-mquick a+a{border-left:1px solid rgba(255,255,255,.12)}
.nl-mquick svg{opacity:.9}
.nl-mnav-wrap{flex:1;min-height:0;overflow:hidden}
.nl-mmenu .nl-mnav{position:relative;height:100%;margin:0;padding:0;width:38%;background:#f3f5f8;overflow-y:auto;border-right:1px solid #e8ebf0}
.nl-mmenu .nl-mnav>li{position:static;border-bottom:1px solid #e8ebf0}
.nl-mmenu .nl-mnav .nl-d1{display:block;padding:17px 16px;font-size:15px;font-weight:600;color:#3a4458;line-height:1.3}
.nl-mmenu .nl-mnav .nl-d1::after{display:none}
.nl-mmenu .nl-mnav>li.open>.nl-d1{background:#fff;color:var(--blue);margin-right:-1px;position:relative}
.nl-mmenu .nl-mnav>li.open>.nl-d1::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}
.nl-mmenu .nl-mnav .nl-d2{display:none;position:fixed;left:38%;right:0;top:auto;bottom:auto;margin:0;padding:6px 22px 30px;background:#fff;list-style:none;overflow-y:auto}
.nl-mmenu .nl-mnav>li.open>.nl-d2{display:block}
.nl-mmenu .nl-d2-h{padding:18px 0 12px;font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.03em;border-bottom:1px solid var(--navy);margin-bottom:4px}
.nl-mmenu .nl-mnav .nl-d2 a{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;font-size:15px;color:#2a3244;border-bottom:1px solid #eff1f5}
.nl-mmenu .nl-mnav .nl-d2 a::after{content:"";width:6px;height:6px;border-right:1.3px solid #a3abba;border-top:1.3px solid #a3abba;transform:rotate(45deg)}
.nl-mmenu .nl-mnav .nl-d2 a[aria-current]{color:var(--blue);font-weight:600}
.nl-mmenu-foot{flex:none;display:flex;flex-direction:column;gap:2px;padding:14px 20px 18px;border-top:1px solid #edf0f4;font-size:12.5px;color:#7d879b}
.nl-mmenu-foot b{font-size:15px;color:var(--navy)}
.nl-mutil,.nl-mmenu-info{display:none}
.nl-mnav-wrap{position:relative}
.nl-mmenu .nl-mnav{position:static}
.nl-mmenu .nl-mnav .nl-d2{position:absolute;top:0;bottom:0;left:38%;right:0}
.nl-mmenu .nl-mnav{overflow-x:hidden;scrollbar-width:none}
.nl-mmenu .nl-mnav::-webkit-scrollbar{display:none}
.nl-mmenu .nl-mnav .nl-d2{scrollbar-width:thin}

/* ===== v1.5 서브 상단: 밝게, 높게, 메인 사진 돌려 쓰기 ===== */
.nl-sub{position:relative;overflow:hidden;background:#eef3fa;color:var(--navy);padding:178px 0 92px;text-align:center}
.nl-sub::before{content:"";position:absolute;inset:0;background:var(--sbg) var(--spos,center)/cover no-repeat;transform:scaleX(var(--sflip,1));animation:nlSubZoom 14s ease-out both}
.nl-sub::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.52) 45%,rgba(255,255,255,.3) 100%),radial-gradient(ellipse at 50% 62%,rgba(255,255,255,.62) 0%,rgba(255,255,255,0) 60%)}
@keyframes nlSubZoom{from{transform:scaleX(var(--sflip,1)) scale(1.06)}to{transform:scaleX(var(--sflip,1)) scale(1)}}
.nl-sub .nl-in{position:relative;z-index:1}
.nl-sub-eye{margin:0 0 12px;font-size:13.5px;font-weight:600;letter-spacing:.18em;color:var(--blue);opacity:1}
.nl-sub h1,.nl-sub-h{font-size:40px;font-weight:800;color:var(--navy);text-shadow:0 1px 18px rgba(255,255,255,.6)}
.nl-sub h1::after,.nl-sub-h::after{content:"";display:block;width:36px;height:1px;margin:18px auto 0;background:var(--blue)}
.nl-header.over.light{border-bottom-color:rgba(19,40,79,.07)}
.nl-loc{border-top:0}
@media (max-width:760px){
  .nl-sub{padding:112px 0 52px}
  .nl-sub h1,.nl-sub-h{font-size:26px}
  .nl-sub-eye{font-size:11.5px;margin-bottom:8px}
  .nl-sub h1::after,.nl-sub-h::after{margin-top:12px;width:28px}
}

/* ===== v1.5 글 꾸밈 틀 (교회가 직접 쓰는 안내 페이지 공통) ===== */
.nl-page{font-size:16px;line-height:1.85;color:#2c3242}
.nl-page p{margin:0 0 14px}
.nl-page h2,.nl-page h2.nl-tt{position:relative;margin:44px 0 18px;padding-left:16px;font-size:26px;font-weight:800;line-height:1.4;letter-spacing:-.03em;color:var(--navy)}
.nl-page h2::before{content:"";position:absolute;left:0;top:.32em;bottom:.32em;width:3px;border-radius:2px;background:var(--blue)}
.nl-page h3,.nl-page h3.nl-tt{margin:34px 0 12px;font-size:20px;font-weight:700;letter-spacing:-.025em;color:var(--navy)}
.nl-page h4,.nl-page h4.nl-tt{margin:24px 0 10px;font-size:17px;font-weight:700;color:#2a3244}
.nl-page>h2:first-child,.nl-page>h3:first-child,.nl-page .nl-block:first-child h2:first-child{margin-top:0}
.nl-page a:not([class]){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.nl-page ul:not([class]),.nl-page ol:not([class]){margin:0 0 16px;padding-left:22px}
.nl-page li{margin:4px 0}
.nl-page ul:not([class]) li::marker{color:var(--blue)}
.nl-page blockquote{margin:0 0 20px;padding:20px 24px;border-left:3px solid var(--blue);background:#f7f9fd;border-radius:0 10px 10px 0;font-family:var(--serif);font-size:17px;color:var(--navy)}
.nl-page hr{border:0;border-top:1px solid #e6e9ef;margin:36px 0}
.nl-page img{max-width:100%;height:auto;border-radius:10px}
.nl-page figure{margin:0 0 20px}
.nl-page figcaption{font-size:13px;color:#8a94a6;text-align:center;margin-top:8px}
.nl-page .nl-table,.nl-page .nl-text table,.nl-page .wp-block-table{overflow-x:auto;margin:0 0 24px}
.nl-page table{border-collapse:collapse;width:100%;font-size:15px;margin:0 0 24px;border-top:1px solid var(--navy)}
.nl-page th,.nl-page td{border:0;border-bottom:1px solid #e6e9ef;padding:12px 14px;text-align:center;vertical-align:middle}
.nl-page th,.nl-page thead td,.nl-page tr:first-child td[style*="background"]{background:#f5f7fb;font-weight:700;color:var(--navy)}
.nl-page tbody tr:hover td{background:#fafbfd}
.nl-page .nl-box,.nl-page .nl-note{border:1px solid #e9ecf2;border-radius:14px;box-shadow:0 12px 28px -24px rgba(20,40,80,.5)}
@media (max-width:760px){
  .nl-page{font-size:14.5px}
  .nl-page h2,.nl-page h2.nl-tt{font-size:20px;margin-top:32px;padding-left:12px}
  .nl-page h3,.nl-page h3.nl-tt{font-size:17px}
  .nl-page table{font-size:13px}.nl-page th,.nl-page td{padding:9px 6px}
}
.nl-page table{width:100%!important;height:auto!important}
.nl-page table tr:first-child>td[style*="background"],.nl-page table tr:first-child>th{background:#f5f7fb!important;color:var(--navy)!important;font-weight:700}
.nl-page td,.nl-page th{height:auto!important}
.nl-edit{margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font-size:13px;font-weight:600;white-space:nowrap;transition:.2s}
.nl-edit:hover{background:var(--blue);color:#fff}
@media (max-width:760px){.nl-edit{position:fixed;left:14px;bottom:14px;z-index:60;height:38px;box-shadow:0 8px 20px -10px rgba(20,40,80,.5)}body.dfap-has-bar .nl-edit{bottom:92px}}