/* ============================================================
   site.css — 공개 페이지 공통 스타일 (index + 세부페이지 공용)
   common.css(토큰/버튼/폼) 위에서 동작. 헤더·푸터는 common.js가 주입.
   ============================================================ */
:root{ --serif:'Pretendard','Pretendard Variable',-apple-system,system-ui,sans-serif; --maxw:1120px; --sec-pad:90px; --sec-title:28px; }
body{background:var(--surface);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
section{scroll-margin-top:76px;}

/* ---------- 헤더 ---------- */
.site-head{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--line);}
.site-head .bar{display:flex;align-items:center;gap:18px;height:64px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink);}
.brand .mk{width:34px;height:34px;border-radius:9px;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center;}
.nav a{padding:8px 12px;border-radius:8px;font-size:14.5px;font-weight:500;color:#3c4856;transition:.12s;}
.nav a:hover{background:var(--surface-2);color:var(--primary);}
.nav a.active{color:var(--primary);font-weight:700;}
.nav .yt{margin-left:6px;background:var(--primary);color:#fff;font-weight:600;}
.nav .yt:hover{background:var(--primary-700);color:#fff;}
.nav-drop{position:relative;display:flex;align-items:center;}
.nav-drop>a{display:inline-flex;align-items:center;gap:3px;}
.nav-drop .caret{font-style:normal;font-size:10px;opacity:.55;}
.dropmenu{position:absolute;top:100%;left:0;min-width:172px;background:#1a2236;border-radius:0 0 10px 10px;box-shadow:0 14px 30px rgba(0,0,0,.22);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:60;}
.nav-drop:hover .dropmenu{opacity:1;visibility:visible;transform:translateY(0);}
.dropmenu a{display:block;padding:11px 20px;color:#ffffff;font-size:14px;font-weight:600;}
.dropmenu a:hover{background:var(--primary);color:#fff;}
.navtoggle{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:8px;
  width:42px;height:38px;font-size:18px;cursor:pointer;}

/* ---------- 히어로(메인) ---------- */
.hero{position:relative;color:#eef2f5;overflow:hidden;
  background:linear-gradient(160deg,#33505f 0%,#283d49 60%,#1f303a 100%);}
.hero .bgslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease;}
.hero .veil{position:absolute;inset:0;background:linear-gradient(160deg,rgba(31,48,58,.78),rgba(31,48,58,.62));}
.hero .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:96px 24px 92px;}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;letter-spacing:.06em;color:#d8c39a;font-weight:600;margin-bottom:22px;}
.hero .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);display:inline-block;}
.hero .verse{font-family:var(--serif);font-weight:700;font-size:clamp(26px,4.4vw,46px);line-height:1.5;letter-spacing:-.01em;max-width:18em;text-wrap:balance;}
.hero .ref{font-family:var(--serif);font-size:16px;color:#c9d4db;margin-top:22px;font-style:italic;}
.hero .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;}
.hero .chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:9px 15px;border-radius:999px;color:#eef2f5;}
.hero .chip b{color:#e7d3ab;font-weight:600;}

/* ---------- 페이지 배너(세부) ---------- */
.pbanner{background:linear-gradient(160deg,#33505f,#243843);color:#eef2f5;}
.pbanner .wrap{padding:56px 24px 52px;}
.pbanner .en{font-size:12.5px;letter-spacing:.14em;color:#d8c39a;font-weight:700;text-transform:uppercase;margin-bottom:10px;}
.pbanner h1{font-family:var(--serif);font-size:34px;font-weight:800;letter-spacing:-.02em;}
.pbanner p{color:#c4d0d8;margin-top:10px;font-size:15px;max-width:46em;}

/* ---------- 섹션 공통 ---------- */
.sec{padding:var(--sec-pad) 0;}
.sec.alt{background:var(--bg);}
.sec.slim{padding:52px 0;}
.sec-head{margin-bottom:30px;}
.sec-head .en{font-size:12.5px;letter-spacing:.14em;color:var(--accent);font-weight:700;text-transform:uppercase;margin-bottom:8px;}
.sec-head .kr{font-family:var(--serif);font-size:27px;font-weight:800;letter-spacing:-.02em;}
.sec-head .more{margin-left:auto;font-size:14px;color:var(--muted);}
.row-head{display:flex;align-items:flex-end;}

/* 빠른메뉴 */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-46px;position:relative;z-index:10;}
.qcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 22px;transition:.16s;display:block;}
.qcard:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(16,24,40,.10);}
.qcard .ic{font-size:22px;}
.qcard .t{font-weight:700;font-size:16px;margin-top:14px;color:var(--ink);}
.qcard .d{font-size:13px;color:var(--muted);margin-top:4px;}

/* 슬라이드 배너 */
.banner{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:21/8;background:var(--surface-2);box-shadow:var(--shadow);}
.banner .bslide{position:absolute;inset:0;opacity:0;transition:opacity .8s;background-size:cover;background-position:center;}
.banner .bslide.on{opacity:1;}
.banner .cap{position:absolute;left:0;bottom:0;padding:26px 30px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);width:100%;}
.banner .cap h4{font-family:var(--serif);font-size:24px;}
.banner .dots{position:absolute;right:16px;bottom:16px;display:flex;gap:7px;}
.banner .dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;}
.banner .dots i.on{background:#fff;}

/* 인사말 */
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.intro .lead{font-family:var(--serif);font-size:22px;line-height:1.7;color:#2b3a45;}
.intro p{color:#4b5563;line-height:1.85;margin:14px 0 0;white-space:pre-line;}

/* 설교 그리드 */
.sermons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sermon{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.16s;display:block;}
.sermon:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.sermon .thumb-wrap{aspect-ratio:16/9;background:var(--surface-2) center/cover;position:relative;}
.sermon .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:38px;text-shadow:0 2px 12px rgba(0,0,0,.5);opacity:.92;}
.sermon .body{padding:18px;}
.sermon .body .cat{font-size:12px;font-weight:700;color:var(--accent);}
.sermon .body h4{font-size:16.5px;margin:7px 0 8px;line-height:1.4;color:var(--ink);}
.sermon .body .meta{font-size:13px;color:var(--muted);}

/* 필터 */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.chip-btn{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:14px;font-weight:600;color:#52606d;cursor:pointer;}
.chip-btn.on{background:var(--primary);border-color:var(--primary);color:#fff;}

/* 소식 */
.news{display:grid;grid-template-columns:1.3fr 1fr;gap:34px;}
.panel h3{font-family:var(--serif);font-size:20px;margin-bottom:14px;display:flex;align-items:center;}
.panel h3 .more{margin-left:auto;font-size:13px;color:var(--muted);font-family:Pretendard,sans-serif;}
.list{border-top:1px solid var(--line);}
.list .it{display:flex;gap:12px;align-items:baseline;padding:14px 2px;border-bottom:1px solid var(--line);cursor:pointer;}
.list .it:hover .ttl{color:var(--primary);}
.list .it .ttl{font-weight:500;color:#2b3a45;}
.list .it .dt{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap;}
.ev{display:flex;gap:14px;padding:14px 2px;border-bottom:1px solid var(--line);}
.ev .d{flex:none;width:48px;text-align:center;}
.ev .d .m{font-size:12px;color:var(--accent);font-weight:700;}
.ev .d .day{font-family:var(--serif);font-size:22px;font-weight:800;line-height:1;}
.ev .info .t{font-weight:600;color:#2b3a45;}
.ev .info .s{font-size:13px;color:var(--muted);margin-top:2px;}
.bulletin-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:14px;transition:.14s;}
.bulletin-card:hover{box-shadow:var(--shadow);}
.bulletin-card .ic{width:46px;height:46px;border-radius:10px;background:var(--accent-soft);color:#8a6526;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}

/* 갤러리 */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.galcard{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:.16s;}
.galcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.galcard .img{aspect-ratio:4/3;background:var(--surface-2) center/cover;}
.galcard .cap{padding:12px 14px;}
.galcard .cap .t{font-weight:600;font-size:14.5px;color:var(--ink);}
.galcard .cap .n{font-size:12px;color:var(--muted);margin-top:2px;}

/* 오시는 길 */
.loc{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:stretch;}
.loc .map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:320px;}
.loc .map iframe{width:100%;height:100%;border:0;display:block;}
.loc .info{padding:6px 0;}
.loc .info .li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.loc .info .li .k{flex:none;width:84px;color:var(--accent);font-weight:700;font-size:14px;}
.loc .info .li .v{color:#33414e;white-space:pre-line;}

/* 본문 페이지(소개/헌금) */
.prose{max-width:760px;}
.prose h2{font-family:var(--serif);font-size:22px;margin:0 0 12px;}
.prose .block{padding:26px 0;border-top:1px solid var(--line);}
.prose .block:first-child{border-top:none;}
.prose .txt{color:#42505c;line-height:1.9;white-space:pre-line;}
.account-card{background:var(--accent-soft);border:1px solid #ecdcbf;border-radius:var(--radius);padding:22px 24px;color:#5e4a22;line-height:1.9;white-space:pre-line;}

/* 폼(새가족) */
.form-card{max-width:620px;}
.form-card .card{padding:28px;}
.form-note{font-size:13px;color:var(--muted);background:var(--surface-2);border-radius:10px;padding:12px 14px;margin-bottom:20px;line-height:1.7;}
.thanks{max-width:560px;text-align:center;padding:60px 20px;}
.thanks .ic{font-size:42px;color:var(--accent);}
.thanks h2{font-family:var(--serif);font-size:26px;margin:14px 0 8px;}
.thanks p{color:var(--muted);}

/* 푸터 */
.foot{background:var(--primary-700);color:#aab9c2;padding:48px 0 40px;}
.foot .top{display:flex;gap:40px;flex-wrap:wrap;align-items:flex-start;}
.foot .brand2{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:18px;margin-bottom:12px;}
.foot .brand2 .mk{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;}
.foot .fcol .h{color:#dde6ec;font-weight:600;font-size:14px;margin-bottom:10px;}
.foot .fcol div{font-size:13.5px;line-height:1.9;white-space:pre-line;}
.foot .bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);font-size:12.5px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.foot a{color:#cdd8df;}
.foot .right{margin-left:auto;}

.placeholder{color:var(--muted);font-size:14px;padding:24px 0;}

/* 팝업 / 라이트박스 */
.pop-ov{position:fixed;inset:0;background:rgba(16,24,40,.5);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:60;overflow:auto;}
.pop{background:#fff;border-radius:var(--radius);max-width:640px;width:100%;box-shadow:var(--shadow);}
.pop .h{display:flex;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--line);}
.pop .h h3{font-family:var(--serif);font-size:20px;}
.pop .h .x{margin-left:auto;border:none;background:none;font-size:22px;cursor:pointer;color:var(--muted);}
.pop .b{padding:24px;color:#42505c;line-height:1.9;white-space:pre-line;}
.pop .b .meta{color:var(--muted);font-size:13px;margin-bottom:14px;}
.lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:20px;}
.lb-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;}
.lb-full{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:70;cursor:zoom-out;}
.lb-full img{max-width:92vw;max-height:92vh;border-radius:8px;}

@media(max-width:900px){
  .quick{grid-template-columns:repeat(2,1fr);}
  .sermons{grid-template-columns:1fr 1fr;}
  .news,.intro,.loc{grid-template-columns:1fr;gap:28px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .lb-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
  .nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:8px 16px 16px;gap:2px;}
  .nav.open{display:flex;}
  .nav a{padding:11px 8px;}
  .nav .yt{margin:6px 0 0;}
  .nav-drop{flex-direction:column;align-items:stretch;}
  .nav-drop .caret{display:none;}
  .dropmenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:#f6f8fb;border-radius:8px;padding:4px 0;margin:2px 0 6px;}
  .navbar .nav .nav-drop>a.armed{background:var(--primary);color:#fff !important;border-radius:8px;}
  .dropmenu a{color:#3c4856;padding:10px 22px;}
  .dropmenu a:hover{background:var(--primary);color:#fff;}
  .navtoggle{display:block;}
  .sermons{grid-template-columns:1fr;}
  .hero .inner{padding:64px 24px 60px;}
  .pbanner .wrap{padding:40px 24px 38px;}
}

/* ============================================================
   온세대 스타일 리디자인 (헤더 바 + 슬라이더 + 소개카드 + 3단보드 + 미디어 + 푸터)
   ============================================================ */
:root{ --navy:#15213f; --navy2:#1d2c54; --gold:#e0b13c; --orange:#ff7a2f; }

/* 헤더: 상단 유틸바 + 메뉴바 */
.site-head{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);}
.topbar .tb{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:74px;gap:12px;}
.tb-phone{font-size:14px;color:#5a6675;letter-spacing:-.01em;}
.tb-phone b{color:var(--navy);font-weight:700;font-size:18px;}
.tb-logo{display:flex;align-items:center;gap:12px;justify-self:center;color:var(--navy);}
.tb-logo-img{width:48px;height:48px;object-fit:contain;flex:none;}
.tb-logo-txt{display:flex;flex-direction:column;align-items:center;line-height:1.08;}
.tb-logo .mk{width:40px;height:40px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;}
.tb-logo .nm{font-size:25px;font-weight:800;letter-spacing:.04em;}
.tb-logo .sub{display:block;font-size:11px;color:#8a93a0;font-weight:600;letter-spacing:.04em;text-align:center;margin-bottom:1px;}
.tb-logo-noimg .tb-logo-txt{align-items:flex-start;}
.tb-logo-noimg .sub{text-align:left;}
.tb-logo-wide{gap:0;}
.tb-logo-wideimg{height:56px;width:auto;max-width:min(420px,60vw);object-fit:contain;display:block;}
.tb-btns{justify-self:end;display:flex;align-items:center;gap:8px;}
.tb-btn{font-size:13px;font-weight:600;padding:8px 13px;border-radius:8px;border:1px solid var(--line);color:#46505e;display:inline-flex;align-items:center;gap:6px;}
.tb-btn:hover{background:var(--surface-2);}
.tb-btn.yt{background:#fff;border-color:#f0c9c4;color:#c4302b;}
.tb-btn.yt:hover{background:#fff6f5;}
.tb-btn.admin::before{content:"●";color:#e02;font-size:9px;}

.navbar{background:#fff;border-top:1px solid #f0f1f4;}
.navbar .nav{display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap;}
.navbar .nav a{position:relative;padding:16px 38px;font-size:16px;font-weight:600;color:#2a3340;letter-spacing:-.01em;}
.navbar .nav a + a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:13px;background:#e2e5ea;}
.navbar .nav a:hover{color:var(--navy);}
.navbar .nav a.active{color:var(--gold);}
.navbar .nav .yt{display:none;}
/* 드롭다운: 어두운 배경 → 흰 글씨(상위 규칙보다 우선) */
.navbar .nav .nav-drop>a{color:#2a3340;}
.navbar .nav .dropmenu a{color:#ffffff;padding:11px 20px;font-size:14px;font-weight:600;}
.navbar .nav .dropmenu a:hover{color:#ffffff;background:var(--primary);}
.navbar .nav .dropmenu a + a::before{display:none;}
.navtoggle{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;width:42px;height:38px;font-size:18px;cursor:pointer;}

/* 홈 히어로 슬라이더 */
.home-hero{position:relative;height:72vh;min-height:560px;max-height:760px;overflow:hidden;background:var(--navy);}
.home-hero .hslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;}
.home-hero .hslide.on{opacity:1;}
.home-hero .hslide .hbg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1);z-index:0;will-change:transform;backface-visibility:hidden;image-rendering:auto;}
@media (prefers-reduced-motion: no-preference){
  .home-hero .hslide.on .hbg.anim-zoom-in{animation:kb-zoomin 20s ease-out forwards;}
  .home-hero .hslide.on .hbg.anim-zoom-out{animation:kb-zoomout 20s ease-out forwards;}
  .home-hero .hslide.on .hbg.anim-pan-right{animation:kb-panright 20s ease-out forwards;}
  .home-hero .hslide.on .hbg.anim-pan-left{animation:kb-panleft 20s ease-out forwards;}
  .home-hero .hslide.on .hbg.anim-pan-up{animation:kb-panup 20s ease-out forwards;}
}
@keyframes kb-zoomin{from{transform:scale(1);}to{transform:scale(1.1);}}
@keyframes kb-zoomout{from{transform:scale(1.1);}to{transform:scale(1);}}
@keyframes kb-panright{from{transform:scale(1.1) translateX(-2.5%);}to{transform:scale(1.1) translateX(2.5%);}}
@keyframes kb-panleft{from{transform:scale(1.1) translateX(2.5%);}to{transform:scale(1.1) translateX(-2.5%);}}
@keyframes kb-panup{from{transform:scale(1.1) translateY(2.5%);}to{transform:scale(1.1) translateY(-2.5%);}}
.home-hero .hslide video.hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.home-hero .hslide .hyt{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.home-hero .hslide .hyt iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.home-hero .hslide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,28,.18),rgba(8,14,28,.42));}
.home-hero .hcap{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.home-hero .hcap.pos-top{justify-content:flex-start;padding-top:12vh;}
.home-hero .hcap.pos-bottom{justify-content:flex-end;padding-bottom:14vh;}
.home-hero .hcap .t{font-size:clamp(34px,6vw,72px);font-weight:400;color:#ffffff;letter-spacing:-.01em;line-height:1.12;text-shadow:0 3px 16px rgba(0,0,0,.55), 0 1px 0 rgba(0,0,0,.4);}
.home-hero .hcap .s{font-size:clamp(16px,2.4vw,24px);color:#fff;margin-top:16px;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.home-hero .hcap .d{font-size:15px;color:#eef2f8;margin-top:10px;opacity:.92;text-shadow:0 2px 8px rgba(0,0,0,.6);}
.home-hero .harrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border-radius:50%;border:0;background:rgba(0,0,0,.32);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.home-hero .harrow:hover{background:rgba(0,0,0,.55);}
.home-hero .harrow.prev{left:22px;} .home-hero .harrow.next{right:22px;}
@media(max-width:560px){ .home-hero .harrow{width:40px;height:40px;font-size:20px;} .home-hero .harrow.prev{left:10px;} .home-hero .harrow.next{right:10px;} }
.home-hero .hdots{position:absolute;left:0;right:0;bottom:64px;z-index:3;display:flex;gap:9px;justify-content:center;}
.home-hero .hdots i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;border:1px solid rgba(255,255,255,.6);}
.home-hero .hdots i.on{background:var(--gold);border-color:var(--gold);}
.home-hero .scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}

/* 소개/안내 (네이비) */
.intro-sec{background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;padding:74px 0 84px;}
.intro-sec .ttl{text-align:center;font-size:var(--sec-title);font-weight:800;letter-spacing:-.02em;}
.intro-sec .desc{text-align:center;color:#aeb9cc;margin-top:12px;font-size:15px;}
.intro-sec .desc::after{content:"";display:block;width:40px;height:3px;background:var(--gold);margin:18px auto 0;border-radius:2px;}
.icards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px;}
.icard{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:.18s;display:flex;flex-direction:column;}
.icard:hover{transform:translateY(-5px);}
.icard .ph{height:150px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#fff;}
.icard .ph .ic{font-size:40px;opacity:.95;text-shadow:0 2px 10px rgba(0,0,0,.3);}
.icard .lb{text-align:center;padding:18px 12px 6px;font-size:18px;font-weight:700;color:var(--navy);}
.icard .view{margin:6px auto 20px;color:var(--navy);font-size:13px;font-weight:600;letter-spacing:.02em;padding:2px 4px;opacity:.7;transition:.15s;}
.icard:hover .view{opacity:1;transform:translateX(3px);}

/* 3단 게시판 */
.board3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.board3.board2{grid-template-columns:7fr 3fr;}
.board-col{padding:30px 28px;border-left:1px solid var(--line);}
.board-col:first-child{border-left:none;}
.board-col .bh{display:flex;align-items:baseline;border-bottom:2px solid var(--navy);padding-bottom:12px;margin-bottom:8px;}
.board-col .bh .bt{font-size:21px;font-weight:800;color:var(--navy);letter-spacing:-.02em;}
.board-col .bh .more{margin-left:auto;font-size:13px;color:#9aa3b0;}
.brow{display:flex;gap:10px;align-items:baseline;padding:13px 0;border-bottom:1px solid #f0f1f4;}
.brow:last-child{border-bottom:none;}
.brow .bx{flex:none;color:var(--gold);font-weight:800;font-size:12px;}
.brow .bt2{color:#33414e;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.brow .bd{margin-left:auto;font-size:12.5px;color:#9aa3b0;white-space:nowrap;}
.brow:hover .bt2{color:var(--navy);}

/* 미디어 (어두운 배경 + 보케) */
.media-sec{position:relative;padding:80px 0 88px;color:#fff;overflow:hidden;
  background:radial-gradient(circle at 18% 30%, rgba(90,120,255,.22), transparent 40%),
             radial-gradient(circle at 78% 24%, rgba(150,90,255,.20), transparent 42%),
             radial-gradient(circle at 60% 80%, rgba(60,150,255,.16), transparent 45%),
             linear-gradient(140deg,#101a36,#1a1340);}
.media-sec .mt{text-align:center;font-size:var(--sec-title);font-weight:800;letter-spacing:-.02em;}
.media-sec .more{display:block;width:120px;margin:18px auto 40px;text-align:center;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 0;font-size:13px;letter-spacing:.06em;color:#fff;}
.media-sec .more:hover{background:rgba(255,255,255,.12);}
.mcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.mcard{border-radius:10px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.mcard .img{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:rgba(255,255,255,.08);}
.mcard .cap{padding:12px 14px;font-size:14px;font-weight:600;}
.mcard .cap .n{font-size:12px;color:#b9c2d6;font-weight:400;margin-top:2px;}

/* 찾아오시는 길 */
.find{padding:74px 0;text-align:center;}
.find .ttl{font-size:var(--sec-title);font-weight:800;color:var(--navy);letter-spacing:-.02em;}
.find .addr{color:#5a6675;margin-top:12px;font-size:15px;}
.find .mapbtn{display:inline-block;margin-top:18px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;padding:10px 22px;border-radius:999px;}
.find .mapwrap{margin-top:30px;border-radius:14px;overflow:hidden;border:1px solid var(--line);height:440px;}
.find .mapwrap iframe{width:100%;height:100%;border:0;display:block;}

/* 푸터 (온세대식) */
.foot-legal{background:#f4f5f7;border-top:1px solid var(--line);}
.foot-legal .wrap{display:flex;justify-content:center;gap:16px;align-items:center;padding:13px 24px;font-size:13px;color:#6b7480;}
.foot-legal a:hover{color:var(--navy);}
.foot{background:#222a38;color:#9aa6b6;padding:40px 0 18px;}
.foot-in{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;}
.foot-logo{display:flex;align-items:center;gap:12px;color:#fff;}
.foot-logo .mk{width:46px;height:46px;border-radius:11px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;}
.foot-logo b{font-size:20px;font-weight:800;}
.foot-logo .sub{font-size:11px;color:#8b95a4;font-weight:600;}
.foot-info{font-size:13.5px;line-height:1.95;}
.foot-info b{color:#dfe5ee;}
.foot-social{display:flex;gap:10px;align-items:center;}
.foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.foot-social a:hover{background:var(--gold);color:#1a1a1a;}
.foot-copy{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);text-align:center;font-size:12px;color:#7e899a;}

/* 페이지 배너 네이비 통일 */
.pbanner{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#eef2f5;}
.pbanner .en{color:var(--gold);}

@media(max-width:900px){
  .icards{grid-template-columns:repeat(2,1fr);}
  .board3, .board3.board2{grid-template-columns:1fr;}
  .board-col{border-left:none;border-top:1px solid var(--line);}
  .board-col:first-child{border-top:none;}
  .mcards{grid-template-columns:repeat(2,1fr);}
  .foot-in{grid-template-columns:1fr;gap:20px;text-align:center;}
  .foot-logo,.foot-social{justify-content:center;}
}
@media(max-width:680px){
  .topbar .tb{grid-template-columns:1fr auto;height:60px;}
  .tb-phone{display:none;}
  .tb-logo{justify-self:start;}
  .tb-logo .nm{font-size:21px;}
  .tb-logo-wideimg{height:42px;max-width:62vw;}
  .tb-btns .tb-btn{display:none;}
  .navtoggle{display:block;}
  .navbar .nav{display:none;flex-direction:column;}
  .navbar .nav.open{display:flex;}
  .navbar .nav a + a::before{display:none;}
  .navbar .nav a{padding:12px;border-top:1px solid #f0f1f4;width:100%;text-align:center;}
  .navbar .nav .dropmenu a{color:#3c4856;border-top:0;}
  .home-hero{height:64vh;min-height:420px;}
}

/* 지도: 네이버 버튼 오버레이 */
.map-embed{position:relative;width:100%;height:100%;min-height:320px;}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}
.map-naver{position:absolute;right:12px;top:12px;background:#03c75a;color:#fff;font-weight:700;font-size:13px;padding:8px 13px;border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.25);z-index:2;}
.map-naver:hover{background:#02b14f;}

/* 주일설교 대표(최신) 썸네일 카드 */
.bfeat{display:block;margin:6px 0 4px;}
.bfeat .th{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--surface-2) center/cover;}
.bfeat .th .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;text-shadow:0 2px 12px rgba(0,0,0,.55);}
.bfeat .ti{font-size:15.5px;font-weight:700;color:var(--navy);margin-top:9px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bfeat .dt{font-size:12.5px;color:#9aa3b0;margin-top:3px;}

/* 관리자 홈 버튼 */
.admin-home{display:inline-flex;align-items:center;gap:6px;}

/* 지도 이미지(네이버 캡처) 모드 */
.map-img{display:block;position:relative;width:100%;min-height:320px;overflow:hidden;background:#f4f6f8;}
.map-img img{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;}
.map-img .map-naver{position:absolute;right:12px;top:12px;}
.map-img:hover img{filter:brightness(0.97);}

/* 섬기는 이 — 가로형 프로필 */
.staff-list{display:flex;flex-direction:column;gap:64px;}
.staff-item{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start;}
.sp-left{display:flex;justify-content:center;}
.sp-photo{width:300px;height:300px;border-radius:50%;object-fit:cover;background:#eef1f6;box-shadow:0 14px 32px rgba(21,33,63,.17);display:block;}
.sp-photo.noimg{display:flex;align-items:center;justify-content:center;font-size:104px;color:#b8c0d0;font-weight:800;font-family:var(--serif);}
.sp-en{font-family:var(--serif);font-size:42px;font-weight:300;letter-spacing:.05em;color:#cfd5de;line-height:1;margin-bottom:20px;}
.sp-head{font-size:24px;color:var(--navy);margin-bottom:24px;}
.sp-head .pos{color:#8a93a3;font-weight:600;margin-right:4px;}
.sp-head b{font-weight:800;}
.sp-body{border-left:3px solid var(--primary);padding-left:24px;color:#4b5567;font-size:15px;line-height:2;}
@media(max-width:760px){
  .staff-item{grid-template-columns:1fr;gap:22px;text-align:center;}
  .sp-photo{width:220px;height:220px;}
  .sp-photo.noimg{font-size:76px;}
  .sp-en{font-size:30px;}
  .sp-body{text-align:left;}
}

/* 예배 안내 페이지 */
.wor-photo img{width:100%;border-radius:14px;display:block;margin-bottom:36px;box-shadow:0 12px 28px rgba(21,33,63,.13);}
.wor-intro{border-left:4px solid var(--primary);padding:6px 0 6px 22px;margin:0 0 50px;color:#3c4856;line-height:1.95;font-size:16px;}
.wor-intro .lead{font-weight:700;color:var(--navy);font-size:18px;display:block;margin-bottom:8px;}
.wor-h2{text-align:center;font-family:var(--serif);font-size:26px;font-weight:800;color:var(--navy);margin:8px 0 24px;}
.wor-table{width:100%;border-collapse:collapse;border-top:2px solid var(--navy);}
.wor-table th{background:#f4f6f9;padding:15px;font-weight:700;color:var(--navy);border-bottom:1px solid #e6ebf2;font-size:15px;}
.wor-table td{padding:15px;text-align:center;border-bottom:1px solid #eef1f6;color:#4b5567;font-size:15px;}
.wor-table td.name{font-weight:700;color:var(--navy);background:#fafbfc;width:38%;}

/* 법적 고지 페이지(개인정보·약관·이메일거부) */
.legal{max-width:880px;line-height:1.8;color:#3c4856;font-size:15px;}
.legal h2{font-family:var(--serif);font-size:21px;font-weight:800;color:var(--navy);margin:32px 0 12px;padding-bottom:8px;border-bottom:2px solid #eef1f6;}
.legal h3{font-size:16px;font-weight:700;color:var(--navy);margin:22px 0 8px;}
.legal p{margin:8px 0;}
.legal ul{margin:8px 0 10px 18px;list-style:disc;}
.legal li{margin:4px 0;}
.legal .lead{color:#5b6475;margin-bottom:18px;}
.legal .box{background:#f6f8fb;border:1px solid #e6ebf2;border-radius:10px;padding:16px 18px;margin:14px 0;}
.legal .eff{margin-top:30px;color:#8a93a3;font-size:14px;}

.block{scroll-margin-top:96px;}

/* 일정 달력 */
.cal{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
.cal-head{display:flex;align-items:center;justify-content:center;gap:26px;padding:16px;border-bottom:1px solid var(--line);}
.cal-title{font-family:var(--serif);font-size:20px;font-weight:800;color:var(--navy);min-width:140px;text-align:center;}
.cal-nav{border:1px solid var(--line);background:#fff;border-radius:8px;width:36px;height:36px;font-size:18px;cursor:pointer;color:var(--navy);line-height:1;}
.cal-nav:hover{background:#f4f6f9;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.cal-dow{background:#f8fafc;border-bottom:1px solid var(--line);}
.cal-wd{padding:10px;text-align:center;font-size:13px;font-weight:700;color:#5b6475;}
.cal-wd.sun{color:#d64545;} .cal-wd.sat{color:#2a6dd6;}
.cal-cell{min-height:96px;border-right:1px solid #f0f2f5;border-bottom:1px solid #f0f2f5;padding:6px;}
.cal-cell:nth-child(7n){border-right:0;}
.cal-cell.empty{background:#fbfcfd;}
.cal-d{font-size:13px;color:#3c4856;font-weight:600;margin-bottom:4px;}
.cal-cell.sun .cal-d{color:#d64545;} .cal-cell.sat .cal-d{color:#2a6dd6;}
.cal-cell.today{background:#fff8e9;} .cal-cell.today .cal-d{color:#c79a2e;font-weight:800;}
.cal-ev{font-size:11px;line-height:1.3;background:var(--primary);color:#fff;border-radius:4px;padding:2px 6px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;}
.cal-more{font-size:10px;color:#8a93a3;padding-left:2px;}
@media(max-width:600px){ .cal-cell{min-height:60px;padding:3px;} .cal-ev{font-size:9px;padding:1px 3px;} .cal-d{font-size:11px;} .cal-head{gap:14px;} }

/* index 일정 섹션 */
.cal-sec .sec-title{text-align:center;font-family:var(--serif);font-size:var(--sec-title);font-weight:800;color:var(--navy);margin-bottom:6px;letter-spacing:-.02em;}
.cal-sec .sec-sub{text-align:center;color:#8a93a3;font-size:14px;margin-bottom:26px;}

/* 메인 주일설교 인라인 영상 */
.bfeat .th-video{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;}
.bfeat .th-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.bfeat[data-yt]{cursor:pointer;}

/* 주보 인라인 미리보기 */
.bul{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;background:#fff;}
.bul-head{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;}
.bul-head .ic{width:46px;height:46px;border-radius:10px;background:var(--accent-soft);color:#8a6526;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}
.bul-head .chev{margin-left:auto;color:#9aa3b0;font-size:14px;transition:.15s;}
.bul.open .bul-head .chev{transform:rotate(180deg);}
.bul-prev{border-top:1px solid var(--line);padding:16px;background:#f6f8fb;}
.bul-img{width:100%;display:block;border-radius:8px;box-shadow:0 4px 14px rgba(21,33,63,.1);}
.bul-pdf{width:100%;height:78vh;border:0;border-radius:8px;background:#fff;}
.bul-actions{margin-top:12px;text-align:right;}
.bul-actions a{font-size:13px;color:var(--primary);font-weight:600;}

/* 말씀카드 세로형 */
.wcards{display:flex;flex-direction:column;gap:20px;margin-top:6px;}
.wcard{cursor:pointer;width:100%;max-width:248px;}
.wcard .wc-img{position:relative;width:100%;aspect-ratio:9/16;background:var(--surface-2) center/cover;border-radius:10px;box-shadow:0 6px 18px rgba(21,33,63,.12);transition:.15s;}
.wcard:hover .wc-img{transform:translateY(-2px);box-shadow:0 12px 26px rgba(21,33,63,.18);}
.wcard .wc-img .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;text-shadow:0 2px 12px rgba(0,0,0,.55);}
.wcard .wc-ti{font-size:15px;font-weight:700;color:var(--navy);margin-top:10px;line-height:1.4;}
.wcard .wc-dt{font-size:12.5px;color:#9aa3b0;margin-top:3px;}

/* 영상/이미지 팝업 (화면 1/2 크기) */
.vpop{position:fixed;inset:0;background:rgba(10,15,30,.82);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px;}
.vpop-box{position:relative;width:50vw;max-width:920px;}
.vpop-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.5);}
.vpop-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* 숏츠(세로) 재생 */
.vpop-box.vpop-vert{width:auto;max-width:none;}
.vpop-box.vpop-vert .vpop-frame{aspect-ratio:9/16;height:84vh;width:auto;}
.vpop-img{display:flex;justify-content:center;}
.vpop-img img{max-width:50vw;max-height:84vh;border-radius:10px;box-shadow:0 24px 64px rgba(0,0,0,.5);display:block;}
.vpop-x{position:absolute;top:-46px;right:0;width:38px;height:38px;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:24px;border-radius:8px;cursor:pointer;line-height:1;}
.vpop-x:hover{background:rgba(255,255,255,.32);}
@media(max-width:760px){ .vpop-box{width:94vw;} .vpop-img img{max-width:94vw;} .vpop-box.vpop-vert .vpop-frame{height:auto;width:88vw;} }

/* 담임목사 섹션 (행복누리식 패럴럭스) */
.pastor-sec{position:relative;padding:90px 0;background:linear-gradient(160deg,#1a2c4d,#11203b);background-size:cover;background-position:center;}
.pastor-sec.parallax{background-attachment:fixed;}
.pastor-sec.has-bg::before{content:"";position:absolute;inset:0;background:rgba(12,20,38,.64);}
.pastor-sec .wrap{position:relative;z-index:1;}
.pastor-card{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:center;}
.pastor-info .eyebrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.18em;}
.pastor-info h2{color:#fff;font-size:clamp(24px,3.4vw,34px);margin:12px 0 16px;line-height:1.3;}
.pastor-info p{color:#cdd8e8;font-size:16px;line-height:1.9;max-width:560px;white-space:pre-line;}
.pastor-btns{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;}
.pastor-btns a{padding:12px 26px;border-radius:10px;font-weight:700;font-size:14px;transition:.15s;}
.pastor-btns a:first-child{background:var(--gold);color:var(--navy);}
.pastor-btns a:first-child:hover{background:#cda23a;}
.pastor-btns a:last-child{border:1px solid rgba(255,255,255,.4);color:#fff;}
.pastor-btns a:last-child:hover{background:rgba(255,255,255,.1);}
.pastor-photo{width:300px;height:380px;border-radius:16px;background:#33415c center/cover;box-shadow:0 20px 50px rgba(0,0,0,.4);}
@media(max-width:760px){
  .pastor-card{grid-template-columns:1fr;gap:26px;}
  .pastor-photo{width:220px;height:280px;margin:0 auto;}
  .pastor-sec.parallax{background-attachment:scroll;}
}

/* 스크롤 등장 효과 */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none;} }


/* ===== 우측 고정 퀵메뉴 ===== */
.sidequick{position:fixed;right:0;top:26%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.sidequick .sq-btn{width:46px;height:46px;border:none;border-radius:10px 0 0 10px;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.16);}
.sidequick .sq-info{background:#d62828;color:#fff;font-style:normal;font-weight:900;font-size:26px;}
.sidequick .sq-up,.sidequick .sq-down{background:#fff;color:var(--navy);font-weight:700;}
.sidequick .sq-up:hover,.sidequick .sq-down:hover{background:#f3f5f9;}
.sidequick .sq-panel{position:absolute;right:54px;top:0;width:120px;background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.2);overflow:hidden;opacity:0;pointer-events:none;transform:translateX(8px);transition:.18s;}
.sidequick.open .sq-panel{opacity:1;pointer-events:auto;transform:none;}
.sq-title{color:#d62828;font-weight:800;font-size:13px;letter-spacing:.04em;text-align:center;padding:12px 0 8px;border-bottom:2px solid #d62828;margin:0 14px 0;}
.sq-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;color:var(--navy);border-bottom:1px solid #eef0f4;text-decoration:none;transition:.12s;}
.sq-item:last-child{border-bottom:none;}
.sq-item .sq-ic{font-size:22px;line-height:1;}
.sq-item .sq-l{font-size:12.5px;font-weight:600;}
.sq-item:hover,.sq-item.on{background:var(--navy);color:#fff;}
@media(max-width:760px){ .sidequick .sq-btn{width:40px;height:40px;font-size:17px;} .sidequick .sq-info{font-size:22px;} .sidequick .sq-panel{width:106px;right:46px;} }

/* ===== 갤러리 방명록(댓글) — 앨범 상세 모달 안 ===== */
.gc-wrap{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);}
.gc-title{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:14px;}
.gc-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;}
.gc-item{background:#f7f8fa;border-radius:10px;padding:12px 14px;}
.gc-head{display:flex;align-items:baseline;gap:10px;margin-bottom:5px;}
.gc-head .gc-name{font-weight:700;color:var(--navy);font-size:14px;}
.gc-head .gc-date{font-size:12px;color:var(--muted);margin-left:auto;}
.gc-text{font-size:14px;color:#42505c;line-height:1.7;white-space:normal;}
.gc-form{display:flex;flex-direction:column;gap:9px;position:relative;}
.gc-in{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:14px;box-sizing:border-box;}
.gc-in:focus{outline:none;border-color:var(--navy);}
.gc-ta{min-height:70px;resize:vertical;line-height:1.6;}
.gc-btn{align-self:flex-end;border:none;background:var(--navy);color:#fff;font-weight:700;font-size:14px;padding:10px 20px;border-radius:9px;cursor:pointer;transition:.15s;}
.gc-btn:hover{opacity:.9;}
.gc-btn:disabled{opacity:.5;cursor:default;}

/* ===== 갤러리 앨범 상세 — 피드형(세로 큰 나열) ===== */
.alb-top{max-width:900px;margin:0 auto 28px;text-align:center;}
.alb-back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:16px;text-decoration:none;transition:.15s;}
.alb-back:hover{color:var(--navy);}
.alb-title{font-size:26px;font-weight:800;color:var(--navy);line-height:1.3;}
.alb-desc{margin-top:12px;color:#5a6675;font-size:15px;line-height:1.8;}
.alb-feed{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.alb-shot{margin:0;border-radius:12px;overflow:hidden;background:#f2f4f7;box-shadow:0 2px 14px rgba(16,24,40,.06);}
.alb-shot img{display:block;width:100%;height:auto;cursor:zoom-in;}
.alb-shot figcaption{padding:12px 16px;font-size:14px;color:#5a6675;background:#fff;}
@media(max-width:760px){
  .alb-title{font-size:21px;}
  .alb-feed{gap:12px;}
  .alb-shot{border-radius:9px;}
}
/* 방명록을 피드 아래에서 중앙 정렬로 */
.alb-feed + .gc-wrap{max-width:900px;margin:34px auto 0;}

/* ===== 주보 다중 이미지(피드형) ===== */
.bul-feed{display:flex;flex-direction:column;gap:12px;}
.bul-feed .bul-img{display:block;width:100%;height:auto;border-radius:8px;}
