@charset "utf-8";
/* =========================================================
   하나어이 (HANA-EOI) 기독교 교육 플랫폼 — 화면 목업
   ㈜미래와학교 · 본문 폭 1440px · 반응형 1480/1280/1024/768/480
   ========================================================= */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600;700&display=swap');

:root{
  /* ── 브랜드 컬러 — 밝고 희망찬 블루 톤 (청소년 교육) ──────
     믿음 #2A6FDB · 사랑 #E0762F · 성장 #52B788 · 순수 #F5F9FF   */
  --brand:#2A6FDB;      /* 믿음 — 밝은 하늘빛 신뢰 (주조색) */
  --brand-d:#1D56B0;
  --brand-dd:#12407F;
  --brand-l:#EAF3FF;
  --brand-l2:#CBE0FA;
  --sky:#4FA8F5;        /* 하늘 — 밝은 포인트 */
  --sky-l:#E4F2FE;
  --love:#E0762F;       /* 사랑 — 따뜻함, 열정 (강조색) */
  --love-d:#B85A1E;
  --love-l:#FDF0E6;
  --grow:#52B788;       /* 성장 — 생명, 새싹 (보조색) */
  --grow-d:#2F8F66;
  --grow-l:#E7F6EF;
  --pure:#F5F9FF;       /* 순수 — 평안, 밝음 (배경색) */

  --ink:#16233A;
  --gray:#55637A;
  --gray-2:#93A0B5;
  --line:#DCE6F2;
  --line-2:#EDF2F9;
  --paper:#F7FAFF;
  --sand:#EFF5FD;

  /* ── 구버전 변수 별칭 (기존 클래스 호환) ── */
  --navy:#1D56B0;
  --green:var(--brand);   --green-d:var(--brand-d);   --green-l:var(--brand-l);
  --blue:var(--grow-d);   --blue-d:var(--grow-d);
  --orange:var(--love);
  --violet:var(--grow-d);
  --red:#B4443F;
  --mint:var(--pure);

  --sans:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --serif:'Gowun Batang','Nanum Myeongjo',serif;
  --sh:0 2px 14px rgba(30,58,109,.07);
  --sh-2:0 14px 44px rgba(21,43,82,.14);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:132px;}
body{font-family:var(--sans);color:var(--ink);background:#fff;font-size:15px;line-height:1.65;letter-spacing:-.2px;}
img{max-width:100%;display:block;border:0;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
li{list-style:none;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2.5px solid var(--green);outline-offset:2px;border-radius:3px;}
.blind{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.container{width:100%;max-width:1440px;margin:0 auto;padding:0 24px;}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* ================= 헤더 ================= */
/* 상단 띠 + 로고·GNB 전체를 상단 고정 */
.site-header{position:sticky;top:0;z-index:70;background:#fff;transition:box-shadow .18s;}
.site-header.stuck{box-shadow:0 4px 20px rgba(21,43,82,.10);}
.top-bar{background:var(--brand-d);color:rgba(255,255,255,.82);font-size:12.5px;}
.top-bar .container{display:flex;align-items:center;gap:18px;height:38px;}
.top-bar .verse{font-family:var(--serif);color:rgba(255,255,255,.6);letter-spacing:0;}
.top-bar .right{margin-left:auto;display:flex;align-items:center;gap:16px;}
.top-bar a:hover{color:#fff;}
.top-bar .lang{border:1px solid rgba(255,255,255,.26);border-radius:13px;padding:2px 10px;}

.site-head{background:#fff;border-bottom:1px solid var(--line);}
.site-head .container{display:flex;align-items:center;gap:34px;height:82px;}
.logo img{height:42px;width:auto;}
.gnb{margin-left:6px;}
.gnb>ul{display:flex;align-items:center;gap:34px;}
.gnb>ul>li{position:relative;}
.gnb>ul>li>a{display:flex;align-items:center;gap:5px;height:82px;line-height:82px;font-size:16px;font-weight:700;white-space:nowrap;}
.gnb>ul>li>a::after{content:"";width:5px;height:5px;border-right:1.6px solid var(--gray-2);border-bottom:1.6px solid var(--gray-2);transform:rotate(45deg) translateY(-2px);}
.gnb>ul>li.no-sub>a::after{display:none;}
.gnb>ul>li>a:hover,.gnb>ul>li.on>a{color:var(--green);}
.gnb>ul>li.on>a{box-shadow:inset 0 -3px 0 var(--green);}
.gnb .sub{
  position:absolute;left:-18px;top:78px;min-width:210px;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--sh-2);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.16s ease;
}
.gnb li:hover>.sub,.gnb li:focus-within>.sub{opacity:1;visibility:visible;transform:translateY(0);}
.gnb .sub a{display:block;padding:9px 20px;font-size:14.5px;color:var(--gray);}
.gnb .sub a:hover{background:var(--green-l);color:var(--green-d);font-weight:600;}
.head-util{margin-left:auto;display:flex;align-items:center;gap:12px;}
.head-util .txt{font-size:14px;font-weight:600;color:var(--gray);}
.head-util .txt:hover{color:var(--green);}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;margin:0 auto;}
.menu-btn span::before{content:"";position:absolute;top:-6px;}
.menu-btn span::after{content:"";position:absolute;top:6px;}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:46px;padding:0 22px;border-radius:24px;font-size:14.5px;font-weight:700;transition:.15s;}
.btn-solid{background:var(--green);color:#fff;}
.btn-solid:hover{background:var(--green-d);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--brand-dd);}
.btn-line{border:1.5px solid var(--line);color:var(--ink);background:#fff;}
.btn-line:hover{border-color:var(--green);color:var(--green);}
.btn-white{background:#fff;color:var(--green-d);}
.btn-orange{background:var(--orange);color:#fff;}
.btn-orange:hover{background:var(--love-d);}
.btn-sm{height:36px;padding:0 15px;font-size:13px;border-radius:18px;}
.btn-lg{height:54px;padding:0 30px;font-size:16px;border-radius:28px;}
.btn-block{width:100%;}

/* ================= 메인 히어로 ================= */
.hero{background:linear-gradient(152deg,#12407F 0%,#2A6FDB 58%,#4FA8F5 130%);color:#fff;padding:70px 0 84px;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-180px;top:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(197,101,46,.42),transparent 70%);}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 470px;gap:60px;align-items:center;}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:6px 15px;font-size:13px;font-weight:600;}
.hero h1{margin-top:20px;font-size:52px;line-height:1.24;font-weight:800;letter-spacing:-1.4px;}
.hero h1 .serif{font-family:var(--serif);font-weight:400;}
.hero .lead{margin-top:20px;font-size:16.5px;line-height:1.8;color:rgba(255,255,255,.8);max-width:52ch;}
.hero .cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;}
.hero .figures{margin-top:44px;display:flex;gap:42px;flex-wrap:wrap;}
.hero .figures b{display:block;font-size:28px;font-weight:800;letter-spacing:-.5px;}
.hero .figures span{font-size:13px;color:rgba(255,255,255,.6);}

/* 패스포트 카드(히어로 오브젝트) */
.passport{background:#fff;color:var(--ink);border-radius:22px;padding:26px;box-shadow:0 26px 60px rgba(14,30,60,.34);}
.passport .pp-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1.5px dashed var(--line);}
.passport .who{display:flex;align-items:center;gap:11px;}
.passport .who i{width:42px;height:42px;border-radius:50%;background:var(--love-l);color:var(--love-d);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;}
.passport .who b{display:block;font-size:15px;}
.passport .who span{font-size:12.5px;color:var(--gray-2);}
.passport .day{background:var(--brand);color:#fff;border-radius:14px;padding:5px 12px;font-size:12.5px;font-weight:700;}
.passport h3{margin:18px 0 4px;font-size:17px;}
.passport .task{font-size:13.5px;color:var(--gray);line-height:1.6;}
.stamps{margin-top:18px;display:grid;grid-template-columns:repeat(10,1fr);gap:6px;}
.stamps i{aspect-ratio:1;border-radius:50%;border:1.5px dashed #D7D3C6;display:flex;align-items:center;justify-content:center;font-size:11px;font-style:normal;color:#BDB9AC;}
.stamps i.done{background:var(--brand);border:1.5px solid var(--brand);color:#fff;font-weight:700;}
.stamps i.today{border:2px solid var(--love);color:var(--love);font-weight:800;animation:pulse 2.4s ease-in-out 3;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(197,101,46,.55);}50%{box-shadow:0 0 0 7px rgba(197,101,46,0);}}
.passport .pp-foot{margin-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--gray-2);}
.passport .pp-foot b{color:var(--green-d);font-size:14px;}

/* ================= 섹션 공통 ================= */
.sec{padding:78px 0;}
.sec.tint{background:var(--sand);}
.sec.paper{background:var(--paper);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px;}
.sec-head h2{font-size:31px;font-weight:800;letter-spacing:-.9px;}
.sec-head p{margin-top:10px;font-size:15.5px;color:var(--gray);max-width:62ch;}
.sec-head .more{font-size:14px;font-weight:700;color:var(--green-d);white-space:nowrap;}
.sec-head .more:hover{text-decoration:underline;text-underline-offset:4px;}

.grid{display:grid;gap:22px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}

/* 카드 */
.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:block;transition:.18s;}
.card:hover{border-color:var(--green);box-shadow:var(--sh);}
.card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--sand);}
.card .thumb img{width:100%;height:100%;object-fit:cover;}
.card .body{padding:20px 22px 24px;}
.card .tag{display:inline-block;font-size:11.5px;font-weight:700;color:var(--green-d);background:var(--green-l);border-radius:11px;padding:3px 10px;}
.card .tag.blue{color:var(--grow-d);background:var(--grow-l);}
.card .tag.orange{color:var(--love-d);background:var(--love-l);}
.card .tag.violet{color:var(--brand-d);background:var(--sand);}
.card h3{margin:11px 0 8px;font-size:17.5px;font-weight:700;line-height:1.45;}
.card p{font-size:14px;color:var(--gray);line-height:1.65;}
.card .meta{margin-top:14px;display:flex;gap:12px;font-size:12.5px;color:var(--gray-2);}

/* 트랙(부서) 카드 */
.track{position:relative;border-radius:18px;overflow:hidden;color:#fff;display:block;min-height:260px;}
.track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.track .ov{position:relative;z-index:2;padding:26px;display:flex;flex-direction:column;height:100%;min-height:260px;background:linear-gradient(180deg,rgba(14,30,60,.06),rgba(14,30,60,.68));}
.track .ov b{font-size:22px;font-weight:800;}
.track .ov span{font-size:13.5px;color:rgba(255,255,255,.82);margin-top:4px;}
.track .ov ul{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;}
.track .ov li{font-size:12px;background:rgba(255,255,255,.18);border-radius:11px;padding:3px 10px;}

/* 역할 안내 */
.role{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;}
.role .ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--green-l);}
.role.b .ico{background:var(--grow-l);} .role.o .ico{background:var(--love-l);} .role.v .ico{background:var(--sand);}
.role h3{margin:16px 0 9px;font-size:19px;}
.role p{font-size:14px;color:var(--gray);}
.role ul{margin-top:15px;border-top:1px solid var(--line-2);padding-top:14px;}
.role li{font-size:13.5px;color:var(--gray);padding:5px 0 5px 15px;position:relative;}
.role li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:var(--love);}
.role .go{margin-top:16px;display:inline-block;font-size:13.5px;font-weight:700;color:var(--green-d);}

/* 흐름(스텝) */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;}
.flow li{padding:26px 24px;border-right:1px solid var(--line);}
.flow li:last-child{border-right:0;}
.flow .no{font-size:12px;font-weight:800;color:var(--green);letter-spacing:.6px;}
.flow b{display:block;margin:8px 0 7px;font-size:17px;}
.flow p{font-size:13.5px;color:var(--gray);}

/* 인용 */
.verse-band{background:var(--brand);color:#fff;padding:64px 0;text-align:center;}
.verse-band q{font-family:var(--serif);font-size:26px;line-height:1.7;quotes:none;}
.verse-band cite{display:block;margin-top:14px;font-size:14px;font-style:normal;color:rgba(255,255,255,.55);}

/* 통계 밴드 */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;}
.stat-band div{padding:26px 24px;border-right:1px solid var(--line);}
.stat-band div:last-child{border-right:0;}
.stat-band b{display:block;font-size:30px;font-weight:800;color:var(--brand);letter-spacing:-1px;}
.stat-band span{font-size:13.5px;color:var(--gray);}

/* 배너 */
.wide-banner{border-radius:18px;overflow:hidden;position:relative;color:#fff;}
.wide-banner img{width:100%;aspect-ratio:2400/560;object-fit:cover;}
.wide-banner .txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 54px;background:linear-gradient(90deg,rgba(14,30,60,.78),rgba(14,30,60,.12));}
.wide-banner b{font-size:28px;font-weight:800;}
.wide-banner p{margin-top:8px;font-size:15px;color:rgba(255,255,255,.82);}
.wide-banner .btn{margin-top:20px;align-self:flex-start;}

/* ================= 서브페이지 ================= */
.page-hero{background:linear-gradient(180deg,var(--brand-l),#FBFDFF);padding:52px 0 46px;border-bottom:1px solid var(--line);}
.crumb{font-size:12.5px;color:var(--gray-2);display:flex;gap:8px;}
.crumb a:hover{color:var(--green);}
.page-hero h1{margin-top:12px;font-size:38px;font-weight:800;letter-spacing:-1.2px;}
.page-hero p{margin-top:12px;font-size:16px;color:var(--gray);max-width:70ch;line-height:1.8;}
.lnb{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:120px;z-index:40;}
.lnb .container{display:flex;gap:28px;overflow-x:auto;}
.lnb a{padding:16px 0;font-size:14.5px;font-weight:600;color:var(--gray);white-space:nowrap;}
.lnb a.on{color:var(--green-d);font-weight:800;box-shadow:inset 0 -3px 0 var(--green);}
.lnb a:hover{color:var(--green);}

.prose h2{font-size:26px;margin:0 0 16px;letter-spacing:-.7px;}
.prose h3{font-size:19px;margin:30px 0 10px;}
.prose p{font-size:15.5px;color:var(--gray);line-height:1.85;margin-bottom:14px;}
.prose ul{margin:0 0 18px;}
.prose ul li{font-size:15px;color:var(--gray);padding:4px 0 4px 16px;position:relative;}
.prose ul li::before{content:"";position:absolute;left:0;top:14px;width:5px;height:5px;border-radius:50%;background:var(--love);}
.split{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start;}

/* 박스 */
.box{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff;}
.box.tint{background:var(--brand-l);border-color:var(--brand-l2);}
.box h4{font-size:17px;margin-bottom:10px;}
.box p{font-size:14px;color:var(--gray);line-height:1.7;}
.callout{border-left:4px solid var(--love);background:var(--love-l);border-radius:0 12px 12px 0;padding:18px 22px;font-size:14.5px;color:var(--love-d);}

/* 게시판 */
.board{border-top:2px solid var(--brand);}
.board li{border-bottom:1px solid var(--line);}
.board a{display:flex;gap:18px;padding:20px 6px;align-items:flex-start;}
.board a:hover{background:var(--paper);}
.board .th{width:150px;flex:0 0 150px;border-radius:10px;overflow:hidden;aspect-ratio:16/10;background:var(--sand);}
.board .th img{width:100%;height:100%;object-fit:cover;}
.board .tx{flex:1;min-width:0;}
.board .tx b{display:block;font-size:17px;margin-bottom:6px;}
.board .tx p{font-size:13.5px;color:var(--gray);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.board .tx .meta{margin-top:9px;font-size:12.5px;color:var(--gray-2);display:flex;gap:12px;}
.board .cat{font-size:11.5px;font-weight:700;color:var(--grow-d);background:var(--grow-l);border-radius:10px;padding:2px 9px;}

.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:22px;}
.filters select,.filters input{height:42px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;}
.filters .search{flex:1;max-width:340px;}
.chipset{display:flex;gap:8px;flex-wrap:wrap;}
.chipset a{border:1px solid var(--line);border-radius:18px;padding:7px 16px;font-size:13.5px;color:var(--gray);background:#fff;}
.chipset a.on,.chipset a:hover{background:var(--brand);border-color:var(--brand);color:#fff;}

.pager{display:flex;justify-content:center;gap:6px;margin-top:36px;}
.pager a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gray);}
.pager a.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;}

/* 표 */
.tbl{border-top:2px solid var(--brand);font-size:14.5px;}
.tbl th,.tbl td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;}
.tbl th{background:var(--paper);font-weight:700;font-size:14px;}
.tbl td{color:var(--gray);}
.tbl td strong{color:var(--ink);font-weight:700;}

/* 폼 */
.form{display:flex;flex-direction:column;gap:16px;}
.field{display:block;}
.field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px;}
.field label em{color:var(--red);font-style:normal;}
.field input,.field select,.field textarea{width:100%;height:50px;border:1px solid var(--line);border-radius:12px;padding:0 16px;background:#fff;}
.field textarea{height:140px;padding:14px 16px;resize:vertical;line-height:1.7;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(30,58,109,.14);}
.field .hint{margin-top:6px;font-size:12.5px;color:var(--gray-2);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.check{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--gray);}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--green);}

/* 로그인 역할 선택 */
.role-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:26px;}
.role-tabs a{border:1.5px solid var(--line);border-radius:12px;padding:14px 8px;text-align:center;font-size:13.5px;font-weight:700;color:var(--gray);background:#fff;}
.role-tabs a i{display:block;font-style:normal;font-size:20px;margin-bottom:5px;}
.role-tabs a.on{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d);box-shadow:0 4px 14px rgba(30,58,109,.12);}

/* 학습 대시보드(학생 마이페이지) */
.dash-grid{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;}
.panel h3{font-size:17px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;}
.panel h3 a{font-size:13px;font-weight:600;color:var(--gray-2);}
.todo li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2);}
.todo li:last-child{border-bottom:0;}
.todo .st{font-size:11.5px;font-weight:700;border-radius:9px;padding:3px 9px;background:var(--love-l);color:var(--love-d);white-space:nowrap;}
.todo .st.done{background:var(--green-l);color:var(--green-d);}
.todo b{font-size:14.5px;font-weight:600;}
.todo span{margin-left:auto;font-size:12.5px;color:var(--gray-2);white-space:nowrap;}
.bar{height:9px;border-radius:5px;background:var(--line-2);overflow:hidden;}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--grow-d));border-radius:5px;}

/* ================= 푸터 ================= */
.site-foot{background:var(--brand-dd);color:rgba(255,255,255,.6);padding:52px 0 40px;font-size:13.5px;margin-top:0;}
.foot-top{display:grid;grid-template-columns:1.2fr 2fr;gap:40px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12);}
.foot-brand b{display:block;font-size:20px;color:#fff;font-weight:800;letter-spacing:-.4px;}
.foot-brand p{margin-top:10px;line-height:1.8;}
.foot-links{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.foot-links dt{color:#fff;font-weight:700;margin-bottom:11px;font-size:14px;}
.foot-links dd{margin-bottom:7px;}
.foot-links a:hover{color:#fff;}
.foot-bot{padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.45);}
.foot-bot .adm{color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:4px 12px;}

/* 모바일 드로어 */
.drawer{position:fixed;inset:0;background:rgba(14,30,60,.46);z-index:100;display:none;}
.drawer.open{display:block;}
.drawer .inner{position:absolute;right:0;top:0;bottom:0;width:min(340px,86vw);background:#fff;padding:22px;overflow-y:auto;}
.drawer .x{position:absolute;right:16px;top:16px;font-size:24px;color:var(--gray);}
.drawer h4{font-size:15px;margin:22px 0 8px;color:var(--green-d);}
.drawer a{display:block;padding:9px 0;font-size:14.5px;color:var(--gray);border-bottom:1px solid var(--line-2);}

/* ================= 반응형 ================= */
@media (max-width:1480px){ .container{padding:0 28px;} }
@media (max-width:1280px){
  .hero .container{grid-template-columns:1fr 400px;gap:40px;}
  .hero h1{font-size:44px;}
  .gnb>ul{gap:22px;} .gnb>ul>li>a{font-size:15px;}
  .split{grid-template-columns:1fr 340px;gap:32px;}
}
@media (max-width:1100px){
  .gnb,.head-util .txt{display:none;}
  .menu-btn{display:block;}
  .site-head .container{height:70px;}
  .lnb{top:108px;}
  .my-side{top:126px;}
  .g4{grid-template-columns:repeat(2,1fr);}
  .flow{grid-template-columns:repeat(2,1fr);}
  .flow li:nth-child(2){border-right:0;}
  .flow li:nth-child(-n+2){border-bottom:1px solid var(--line);}
  .stat-band{grid-template-columns:repeat(2,1fr);}
  .stat-band div:nth-child(2){border-right:0;}
  .stat-band div:nth-child(-n+2){border-bottom:1px solid var(--line);}
  .dash-grid,.split{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .hero{padding:48px 0 60px;}
  .hero .container{grid-template-columns:1fr;}
  .hero h1{font-size:36px;} .hero .lead{font-size:15px;}
  .sec{padding:56px 0;}
  .sec-head{flex-direction:column;align-items:flex-start;gap:12px;}
  .sec-head h2{font-size:25px;}
  .g3{grid-template-columns:repeat(2,1fr);}
  .page-hero h1{font-size:30px;}
  .foot-top{grid-template-columns:1fr;}
  .foot-links{grid-template-columns:repeat(2,1fr);}
  .verse-band q{font-size:21px;}
  .wide-banner .txt{padding:0 26px;} .wide-banner b{font-size:20px;} .wide-banner p{font-size:13px;}
  .wide-banner img{aspect-ratio:16/8;}
}
@media (max-width:620px){
  .container{padding:0 18px;}
  .g2,.g3,.g4,.field-row{grid-template-columns:1fr;}
  .flow{grid-template-columns:1fr;} .flow li{border-right:0;border-bottom:1px solid var(--line);}
  .stat-band{grid-template-columns:1fr;} .stat-band div{border-right:0;border-bottom:1px solid var(--line);}
  .role-tabs{grid-template-columns:repeat(2,1fr);}
  .board a{flex-direction:column;} .board .th{width:100%;flex:none;}
  .hero h1{font-size:30px;} .hero .figures{gap:24px;}
  .stamps{grid-template-columns:repeat(6,1fr);}
  .top-bar .verse{display:none;}
  .lnb .container{gap:18px;}
}

/* 패스포트 카드 모바일 보정 */
@media (max-width:620px){
  .passport .pp-top{align-items:flex-start;}
  .passport .who b em{display:block;margin-top:2px;}
}

/* =========================================================
   계정 · 회원 (로그인 / 회원가입 / 아이디·비밀번호 찾기)
   ========================================================= */
.auth-sec{padding:64px 0 92px;background:linear-gradient(180deg,var(--sand) 0%,#fff 340px);}
.auth-wrap{max-width:560px;margin:0 auto;}
.auth-wrap.wide{max-width:860px;}
.auth-head{text-align:center;margin-bottom:30px;}
.auth-head .sym{height:52px;width:auto;margin:0 auto 16px;}
.auth-head h1{font-size:30px;font-weight:800;letter-spacing:-1px;}
.auth-head p{margin-top:10px;font-size:14.5px;color:var(--gray);}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 34px 30px;box-shadow:var(--sh);}
.auth-card + .auth-card{margin-top:18px;}
.auth-foot{margin-top:20px;display:flex;justify-content:center;gap:14px;font-size:13.5px;color:var(--gray);}
.auth-foot a{color:var(--gray);}
.auth-foot a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:4px;}
.auth-foot i{color:var(--line);font-style:normal;}
.auth-note{margin-top:22px;background:var(--sand);border:1px solid var(--line);border-radius:16px;padding:20px 22px;}
.auth-note h4{font-size:15px;margin-bottom:8px;}
.auth-note p{font-size:13.5px;color:var(--gray);line-height:1.75;}

/* 회원 유형 선택 */
.type-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.type-pick button{position:relative;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:24px 22px;transition:.16s;}
.type-pick button:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--sh);}
.type-pick button.on{border-color:var(--brand);background:var(--brand-l);box-shadow:0 6px 20px rgba(30,58,109,.14);}
.type-pick .ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:21px;background:var(--brand-l);}
.type-pick button:nth-child(2) .ico{background:var(--love-l);}
.type-pick button:nth-child(3) .ico{background:var(--grow-l);}
.type-pick b{display:block;margin:14px 0 6px;font-size:17px;}
.type-pick span{display:block;font-size:13px;color:var(--gray);line-height:1.6;}
.type-pick button.on::after{content:"✓";position:absolute;right:18px;top:18px;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700;}

/* 단계 인디케이터 */
.steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:34px;}
.steps li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--gray-2);font-weight:600;}
.steps li i{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:700;color:var(--gray-2);}
.steps li.on{color:var(--brand);}
.steps li.on i{background:var(--brand);border-color:var(--brand);color:#fff;}
.steps li.done{color:var(--grow-d);}
.steps li.done i{background:var(--grow);border-color:var(--grow);color:#fff;}
.steps .sp{width:52px;height:1.5px;background:var(--line);margin:0 14px;}
.step-pane{display:none;}
.step-pane.on{display:block;animation:fadeUp .22s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* 약관 */
.agree-all{display:flex;gap:10px;align-items:center;background:var(--brand-l);border:1px solid var(--brand-l2);border-radius:14px;padding:16px 18px;font-size:15px;font-weight:700;color:var(--brand-d);cursor:pointer;}
.agree-all input{width:20px;height:20px;accent-color:var(--brand);}
.terms{margin-top:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.terms .item{border-bottom:1px solid var(--line-2);padding:16px 18px;}
.terms .item:last-child{border-bottom:0;}
.terms .item .hd{display:flex;align-items:center;gap:10px;font-size:14.5px;}
.terms .item .hd input{width:18px;height:18px;accent-color:var(--brand);}
.terms .item .hd b{font-weight:600;}
.terms .item .req{font-size:11.5px;font-weight:700;border-radius:9px;padding:2px 8px;background:var(--love-l);color:var(--love-d);}
.terms .item .opt{font-size:11.5px;font-weight:700;border-radius:9px;padding:2px 8px;background:var(--line-2);color:var(--gray);}
.terms .item .view{margin-left:auto;font-size:12.5px;color:var(--gray-2);text-decoration:underline;text-underline-offset:3px;}
.terms .doc{margin-top:12px;max-height:118px;overflow-y:auto;background:var(--paper);border:1px solid var(--line-2);border-radius:10px;padding:14px 16px;font-size:12.5px;color:var(--gray);line-height:1.8;}

/* 완료 */
.done-panel{text-align:center;padding:14px 0 6px;}
.done-panel .mark{width:78px;height:78px;border-radius:50%;background:var(--grow-l);color:var(--grow-d);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 20px;}
.done-panel h2{font-size:24px;font-weight:800;letter-spacing:-.7px;}
.done-panel p{margin-top:12px;font-size:14.5px;color:var(--gray);line-height:1.8;}
.done-info{margin:24px 0 4px;text-align:left;background:var(--sand);border-radius:14px;padding:20px 22px;font-size:14px;}
.done-info dl{display:grid;grid-template-columns:110px 1fr;gap:10px 12px;}
.done-info dt{color:var(--gray-2);font-size:13.5px;}
.done-info dd{font-weight:600;}
.form-actions{display:flex;gap:10px;margin-top:26px;}
.form-actions .btn{flex:1;}

/* 인증번호 입력 */
.with-btn{display:grid;grid-template-columns:1fr auto;gap:8px;}
.with-btn .btn{height:50px;white-space:nowrap;}
.result-box{background:var(--sand);border:1px solid var(--line);border-radius:16px;padding:26px;text-align:center;}
.result-box .lb{font-size:13.5px;color:var(--gray);}
.result-box b{display:block;margin-top:8px;font-size:24px;font-weight:800;letter-spacing:.5px;color:var(--brand);}
.result-box .sub{margin-top:8px;font-size:13px;color:var(--gray-2);}

/* =========================================================
   마이페이지
   ========================================================= */
.my-layout{display:grid;grid-template-columns:264px 1fr;gap:34px;align-items:start;}
.my-side{position:sticky;top:144px;}
.my-card{background:linear-gradient(160deg,var(--brand) 0%,var(--brand-dd) 100%);color:#fff;border-radius:18px;padding:16px 18px;}
.my-card .top{display:flex;align-items:center;gap:13px;}
.my-card .ava{position:relative;flex:0 0 54px;width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;overflow:visible;}
.my-card .ava .sym{width:30px;height:auto;display:block;}
.my-card .ava .pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;}
.my-card .ava.has .sym{visibility:hidden;}
.my-card .ava .edit{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:var(--love);color:#fff;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.28);border:1.5px solid #fff;cursor:pointer;}
.my-card .ava .edit:hover{background:var(--love-d);}
.my-card .who{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0;}
.my-card b{font-size:18px;font-weight:800;letter-spacing:-.4px;}
.my-card .role{display:inline-block;background:rgba(255,255,255,.16);border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:600;white-space:nowrap;}
.my-card p{margin-top:11px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14);font-size:12.5px;color:rgba(255,255,255,.72);line-height:1.6;}

/* 프로필 사진 변경 팝업 */
.ava-modal{position:fixed;inset:0;z-index:120;background:rgba(14,30,60,.5);display:flex;align-items:center;justify-content:center;padding:20px;}
.ava-modal[hidden]{display:none;}
.ava-modal .box{width:100%;max-width:380px;background:#fff;border-radius:18px;box-shadow:var(--sh-2);overflow:hidden;}
.ava-modal .hd{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);}
.ava-modal .hd b{font-size:16px;font-weight:800;}
.ava-modal .hd .x{font-size:15px;color:var(--gray-2);}
.ava-modal .bd{padding:24px 20px;text-align:center;}
.ava-modal .prev{position:relative;width:132px;height:132px;margin:0 auto 18px;border-radius:50%;background:var(--brand-l);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ava-modal .prev .sym{width:62px;height:auto;}
.ava-modal .prev .pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ava-modal .pick input{position:absolute;opacity:0;width:0;height:0;}
.ava-modal .pick{display:inline-block;cursor:pointer;}
.ava-modal .hint{margin-top:14px;font-size:12.5px;color:var(--gray-2);line-height:1.7;}
.ava-modal .ft{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--paper);}
.ava-modal .ft .r{margin-left:auto;display:flex;gap:8px;}
.my-nav{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;}
.my-nav a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--gray);}
.my-nav a i{font-style:normal;font-size:16px;width:20px;text-align:center;}
.my-nav a:hover{background:var(--sand);color:var(--ink);}
.my-nav a.on{background:var(--brand);color:#fff;}
.my-nav a .cnt{margin-left:auto;font-size:11.5px;font-weight:700;background:var(--love-l);color:var(--love-d);border-radius:9px;padding:2px 8px;}
.my-nav a.on .cnt{background:rgba(255,255,255,.22);color:#fff;}
.my-pane{display:none;}
.my-pane.on{display:block;animation:fadeUp .22s ease;}
.my-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:16px;margin-bottom:24px;border-bottom:2px solid var(--brand);}
.my-head h2{font-size:24px;font-weight:800;letter-spacing:-.7px;}
.my-head p{margin-top:7px;font-size:13.5px;color:var(--gray);}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
.kpi div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px;}
.kpi span{font-size:12.5px;color:var(--gray-2);}
.kpi b{display:block;margin-top:5px;font-size:24px;font-weight:800;letter-spacing:-.8px;color:var(--brand);}
.kpi div.accent b{color:var(--love);}
.kpi div.grow b{color:var(--grow-d);}
.st-badge{display:inline-block;font-size:11.5px;font-weight:700;border-radius:9px;padding:3px 9px;white-space:nowrap;}
.st-badge.ok{background:var(--grow-l);color:var(--grow-d);}
.st-badge.wait{background:var(--love-l);color:var(--love-d);}
.st-badge.gray{background:var(--line-2);color:var(--gray);}
.st-badge.navy{background:var(--brand-l);color:var(--brand-d);}
.org-card{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;}
.org-card .em{width:56px;height:56px;border-radius:16px;background:var(--brand-l);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 56px;}
.org-card b{font-size:17px;}
.org-card span{display:block;font-size:13.5px;color:var(--gray);margin-top:4px;}
.org-card .btn{margin-left:auto;}
.empty{text-align:center;padding:54px 0;color:var(--gray-2);font-size:14px;}
@media (max-width:1100px){
  .my-layout{grid-template-columns:1fr;gap:22px;}
  .my-side{position:static;}
  .my-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
  .kpi{grid-template-columns:repeat(2,1fr);}
  .type-pick{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .auth-card{padding:26px 20px 24px;}
  .auth-head h1{font-size:24px;}
  .my-nav{grid-template-columns:repeat(2,1fr);}
  .kpi{grid-template-columns:1fr;}
  .steps li span{display:none;}
  .steps .sp{width:26px;margin:0 8px;}
  .my-head{flex-direction:column;align-items:flex-start;}
  .form-actions{flex-direction:column;}
  .done-info dl{grid-template-columns:1fr;gap:2px 0;}
  .done-info dt{margin-top:8px;}
}

/* 푸터 브랜드 로고 */
.foot-brand img{opacity:.92;}

/* =========================================================
   구독 안내 — 요금 플랜 카드
   ========================================================= */
.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.plan{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:28px 24px 26px;transition:.18s;}
.plan:hover{border-color:var(--brand);box-shadow:var(--sh);transform:translateY(-2px);}
.plan.best{border:2px solid var(--brand);box-shadow:0 14px 40px rgba(30,58,109,.14);}
.plan .flag{position:absolute;top:-13px;left:24px;background:var(--love);color:#fff;font-size:12px;font-weight:700;border-radius:13px;padding:4px 13px;letter-spacing:-.2px;}
.plan .term{font-size:16px;font-weight:800;color:var(--brand);}
.plan .dc{display:inline-block;margin-left:7px;font-size:11.5px;font-weight:800;background:var(--love-l);color:var(--love-d);border-radius:9px;padding:2px 8px;vertical-align:2px;}
.plan .was{margin-top:14px;font-size:13.5px;color:var(--gray-2);text-decoration:line-through;min-height:20px;}
.plan .now{margin-top:2px;font-size:27px;font-weight:800;letter-spacing:-1.2px;color:var(--ink);}
.plan .per{margin-top:8px;background:var(--sand);border-radius:10px;padding:8px 12px;font-size:13.5px;color:var(--gray);}
.plan .per b{color:var(--brand);font-weight:800;}
.plan .btn{margin-top:20px;width:100%;}
.plan-note{margin-top:20px;display:flex;align-items:center;gap:10px;background:var(--brand-l);border:1px solid var(--brand-l2);border-radius:14px;padding:14px 18px;font-size:14px;font-weight:600;color:var(--brand-d);}
.plan-note i{font-style:normal;font-size:17px;}
.benefit{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;}
.benefit h4{font-size:17px;margin-bottom:16px;}
.benefit ul{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 20px;}
.benefit li{font-size:14.5px;color:var(--gray);padding-left:24px;position:relative;}
.benefit li::before{content:"✓";position:absolute;left:0;top:0;color:var(--grow-d);font-weight:800;}
@media (max-width:1100px){ .plan-grid{grid-template-columns:repeat(2,1fr);} .benefit ul{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .plan-grid{grid-template-columns:1fr;} .benefit ul{grid-template-columns:1fr;} }

/* =========================================================
   마이페이지 — 레벨 / 포인트 / 쿠폰
   ========================================================= */
.reward{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin-bottom:24px;}
.reward .rw{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px;transition:.16s;}
.reward a.rw:hover{border-color:var(--brand);box-shadow:var(--sh);}
.reward .rw .lb{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--gray-2);font-weight:600;}
.reward .rw .lb i{font-style:normal;font-size:15px;}
.reward .rw .vl{display:block;margin-top:8px;font-size:26px;font-weight:800;letter-spacing:-1px;color:var(--brand);}
.reward .rw .vl small{font-size:14px;font-weight:700;color:var(--gray);margin-left:3px;}
.reward .rw .sub{display:block;margin-top:6px;font-size:12.5px;color:var(--gray-2);}
/* 나의 레벨 — 라이트 그레이 카드 */
.reward .lvl{position:relative;background:linear-gradient(180deg,#F8F9FB 0%,#EDEFF4 100%);border:1px solid #E1E5EC;color:var(--ink);overflow:hidden;}
.reward .lvl::after{content:"";position:absolute;right:-46px;top:-46px;width:150px;height:150px;border-radius:50%;background:rgba(30,58,109,.05);}
.reward .lvl>*{position:relative;z-index:1;}
.reward .lvl .lb{color:var(--gray);font-weight:700;}
.reward .lvl .lb i{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #E1E5EC;display:flex;align-items:center;justify-content:center;font-size:13px;}
.reward .lvl .vl{margin-top:12px;color:var(--brand-d);display:flex;align-items:center;gap:10px;}
.reward .lvl .vl em{font-style:normal;font-size:12.5px;font-weight:700;background:#fff;border:1px solid var(--brand-l2);color:var(--brand-d);border-radius:12px;padding:4px 12px;letter-spacing:0;}
.reward .lvl .pct{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:16px;font-size:12.5px;color:var(--gray-2);}
.reward .lvl .pct b{font-size:14.5px;font-weight:800;color:var(--brand);}
.reward .lvl .bar{margin-top:7px;height:10px;background:#DEE3EB;}
.reward .lvl .bar i{background:linear-gradient(90deg,var(--brand) 0%,#3C6BAE 100%);}
.reward .lvl .sub{color:var(--gray);margin-top:10px;}
.reward .pt .vl{color:var(--love);}
.reward .cp .vl{color:var(--grow-d);}
.lvl-track{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:4px;}
.lvl-track div{border:1px solid var(--line);border-radius:14px;padding:16px 14px;text-align:center;background:#fff;}
.lvl-track div.on{border-color:var(--brand);background:var(--brand-l);}
.lvl-track b{display:block;font-size:15px;}
.lvl-track span{display:block;margin-top:5px;font-size:12px;color:var(--gray-2);}
.lvl-track .em{font-size:22px;}
.coupon-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.coupon{position:relative;display:flex;gap:18px;align-items:center;background:#fff;border:1.5px dashed var(--brand-l2);border-radius:16px;padding:20px 22px;}
.coupon.used{opacity:.55;border-style:solid;}
.coupon .amt{font-size:22px;font-weight:800;color:var(--brand);white-space:nowrap;letter-spacing:-.8px;}
.coupon .info b{display:block;font-size:14.5px;}
.coupon .info span{display:block;margin-top:4px;font-size:12.5px;color:var(--gray-2);}
@media (max-width:1100px){ .reward{grid-template-columns:1fr;} .coupon-list{grid-template-columns:1fr;} .lvl-track{grid-template-columns:repeat(3,1fr);} }

/* =========================================================
   선교와 여행 — 탭 / 상품 리스트 / 상세
   ========================================================= */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--line);margin-bottom:34px;}
.tabs button{flex:0 0 auto;min-width:210px;padding:17px 30px;font-size:16.5px;font-weight:700;color:var(--gray-2);border-bottom:3px solid transparent;margin-bottom:-2px;transition:.15s;}
.tabs button:hover{color:var(--brand);}
.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);}
.tabs button small{display:block;margin-top:4px;font-size:12.5px;font-weight:600;color:var(--gray-2);}
.tabs button.on small{color:var(--love-d);}
.tab-pane{display:none;}
.tab-pane.on{display:block;animation:fadeUp .22s ease;}

/* 상품 정렬 바 */
.sort-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1.5px solid var(--ink);margin-bottom:22px;}
.sort-bar .cnt{font-size:14.5px;color:var(--gray);}
.sort-bar .cnt b{font-size:17px;font-weight:800;color:var(--ink);}
.sort-bar .sorts{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap;}
.sort-bar .sorts a{font-size:14px;color:var(--gray-2);}
.sort-bar .sorts a.on{color:var(--ink);font-weight:800;}
.sort-bar .sorts a:hover{color:var(--brand);}

/* 상품 카드 */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.prod-grid.g3{grid-template-columns:repeat(3,1fr);}
.prod{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.18s;}
.prod:hover{border-color:var(--brand);box-shadow:var(--sh);transform:translateY(-2px);}
.prod .th{display:block;position:relative;aspect-ratio:10/7;background:var(--sand);overflow:hidden;}
.prod .th img{width:100%;height:100%;object-fit:cover;}
.prod .wish{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--gray-2);box-shadow:0 2px 8px rgba(14,30,60,.16);}
.prod .bd{display:block;padding:14px 16px 16px;}
.pbadges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;}
.pbadge{font-size:11.5px;font-weight:700;border:1px solid var(--brand-l2);color:var(--brand);border-radius:5px;padding:2px 7px;line-height:1.5;white-space:nowrap;}
.pbadge.warm{border-color:#EEC9B2;color:var(--love-d);}
.pbadge.grow{border-color:#C4D7C9;color:var(--grow-d);}
.pbadge.solid{background:var(--brand);border-color:var(--brand);color:#fff;}
.prod .tt{display:-webkit-box;font-size:15px;font-weight:700;line-height:1.5;min-height:45px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.prod .dep{display:-webkit-box;margin-top:12px;font-size:12.5px;color:var(--gray);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;}
.prod .pr{display:block;margin-top:12px;font-size:20px;font-weight:800;letter-spacing:-.8px;}
.prod .pr small{font-size:13px;font-weight:600;color:var(--gray);}
.prod .rv{display:flex;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--gray-2);display:flex;gap:12px;}
.prod .rv em{font-style:normal;color:var(--love);}

/* 선교지 카드 — .field 는 폼 입력 항목 클래스와 겹치므로 .mcard 로 분리 */
.mcard{display:grid;grid-template-columns:300px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:18px;}
.mcard .th{background:var(--sand);}
.mcard .th img{width:100%;height:100%;object-fit:cover;min-height:210px;}
.mcard .bd{padding:26px 28px;}
.mcard .bd h3{font-size:20px;font-weight:800;letter-spacing:-.5px;}
.mcard .bd .lead{margin-top:8px;font-size:14px;color:var(--gray);line-height:1.75;}
.mcard dl{margin-top:18px;display:grid;grid-template-columns:repeat(2,auto 1fr);gap:9px 12px;font-size:13.5px;}
.mcard dt{color:var(--gray-2);white-space:nowrap;}
.mcard dd{font-weight:600;}
.mcard .foot{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap;}

/* 상품 상세 */
.tour-top{display:grid;grid-template-columns:1fr 380px;gap:34px;align-items:start;}
.tour-gal{border-radius:16px;overflow:hidden;border:1px solid var(--line);position:relative;}
.tour-gal img{width:100%;aspect-ratio:10/7;object-fit:cover;}
.tour-gal .no{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(14,30,60,.68);color:#fff;font-size:12.5px;border-radius:14px;padding:4px 14px;}
.book{position:sticky;top:144px;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:var(--sh);}
.book .lb{font-size:14px;font-weight:800;padding-bottom:12px;border-bottom:1.5px solid var(--ink);}
.book h4{margin-top:16px;font-size:15.5px;line-height:1.55;}
.book .rv{margin-top:10px;font-size:12.5px;color:var(--gray-2);}
.book .amt{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2);}
.book .amt span{font-size:13px;color:var(--gray-2);}
.book .amt b{display:block;margin-top:4px;font-size:27px;font-weight:800;letter-spacing:-1.2px;}
.book .btns{margin-top:16px;display:grid;gap:8px;}
.book .code{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;font-size:12px;color:var(--gray-2);}
.tour-title{margin-top:26px;}
.tour-title h1{margin-top:12px;font-size:27px;font-weight:800;letter-spacing:-1px;line-height:1.4;}
.tour-title .price{margin-top:14px;font-size:26px;font-weight:800;letter-spacing:-1px;}
.tour-title .price small{font-size:14px;font-weight:600;color:var(--gray);}
.tour-tags{margin-top:16px;display:flex;gap:7px;flex-wrap:wrap;}
.tour-tags span{background:var(--sand);border-radius:8px;padding:6px 13px;font-size:13px;color:var(--gray);}
.sec-bar{margin:44px 0 20px;padding:14px 18px;background:var(--sand);border-top:2px solid var(--ink);font-size:16px;font-weight:800;}

/* 달력 */
.cal-wrap{border:1px solid var(--line);border-radius:14px;padding:22px;}
.cal-legend{display:flex;justify-content:flex-end;gap:16px;font-size:12.5px;color:var(--gray);margin-bottom:14px;}
.cal-legend i{font-style:normal;}
.cal-legend .d1::before,.cal-legend .d2::before{content:"●";margin-right:5px;}
.cal-legend .d1::before{color:var(--grow-d);} .cal-legend .d2::before{color:var(--love);}
.cals{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.cal h5{text-align:center;font-size:15px;margin-bottom:12px;}
.cal table{width:100%;table-layout:fixed;}
.cal th{font-size:12.5px;color:var(--gray-2);font-weight:600;padding-bottom:8px;text-align:center;}
.cal td{text-align:center;height:46px;font-size:13.5px;color:#C9C6BC;vertical-align:middle;}
.cal td.able{color:var(--ink);font-weight:600;}
.cal td .day{display:block;position:relative;}
.cal td .pv{display:block;font-size:11px;color:var(--grow-d);font-weight:700;}
.cal td.able .dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--grow-d);margin:0 auto 2px;}
.cal td.sel{background:var(--brand);border-radius:10px;color:#fff;font-weight:700;}
.cal td.sel .pv{color:#fff;}
.cal td.sel .dot{background:#fff;}
.cal .nav{border:0;background:none;font-size:18px;color:var(--gray);}

/* 행사 선택 */
.event-box{border:1.5px solid var(--brand);background:var(--brand-l);border-radius:14px;padding:20px 22px;}
.event-box .tagline{display:flex;gap:6px;margin-bottom:12px;}
.event-box h5{font-size:16px;font-weight:700;}
.event-box ul{margin-top:14px;display:grid;gap:8px;}
.event-box li{font-size:13.5px;color:var(--gray);display:flex;gap:10px;}
.event-box li b{color:var(--ink);font-weight:600;}
.event-box .pick{margin-top:14px;text-align:right;}
.pax{margin-top:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.pax .row{display:grid;grid-template-columns:repeat(3,1fr);}
.pax .row > div{padding:18px 20px;border-right:1px solid var(--line-2);}
.pax .row > div:last-child{border-right:0;}
.pax .row span{font-size:13px;color:var(--gray-2);}
.pax .row b{display:block;margin-top:5px;font-size:16px;font-weight:700;}
.pax .cnt{margin-top:10px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;}
.pax .cnt button{width:34px;height:34px;font-size:16px;color:var(--gray);}
.pax .cnt input{width:44px;height:34px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-weight:700;}
.pax .total{display:flex;align-items:center;gap:14px;padding:18px 20px;border-top:1px solid var(--line);background:var(--paper);}
.pax .total span{margin-left:auto;font-size:14px;color:var(--gray);}
.pax .total b{font-size:23px;font-weight:800;letter-spacing:-1px;}
.incl{border:1px solid var(--line);border-radius:14px;padding:22px 24px;}
.incl + .incl{margin-top:14px;}
.incl h5{display:flex;align-items:center;gap:8px;font-size:15.5px;margin-bottom:12px;}
.incl h5 i{font-style:normal;}
.incl li{font-size:14px;color:var(--gray);padding:5px 0 5px 16px;position:relative;line-height:1.65;}
.incl li::before{content:"";position:absolute;left:0;top:14px;width:4px;height:4px;border-radius:50%;background:var(--gray-2);}
.incl li em{display:block;font-style:normal;font-size:12.5px;color:var(--gray-2);margin-top:3px;}
@media (max-width:1100px){
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .prod-grid.g3{grid-template-columns:repeat(2,1fr);}
  .tour-top{grid-template-columns:1fr;}
  .book{position:static;}
  .cals{grid-template-columns:1fr;}
  .mcard{grid-template-columns:1fr;}
  .mcard .th img{min-height:200px;}
}
@media (max-width:620px){
  .prod-grid,.prod-grid.g3{grid-template-columns:1fr;}
  .tabs button{min-width:0;flex:1;padding:14px 8px;font-size:14.5px;}
  .mcard dl{grid-template-columns:auto 1fr;}
  .pax .row{grid-template-columns:1fr;}
  .pax .row > div{border-right:0;border-bottom:1px solid var(--line-2);}
}

/* 상품 상세 — 갤러리 썸네일 */
.gal-thumbs{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.gal-thumbs button{border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;line-height:0;transition:.15s;}
.gal-thumbs button img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.gal-thumbs button:hover{border-color:var(--brand-l2);}
.gal-thumbs button.on{border-color:var(--brand);}

/* =========================================================
   마이페이지 — 선교·여행 내역 (주문/신청 카드)
   ========================================================= */
.sec-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1.5px solid var(--ink);}
.sec-line h3{font-size:18px;font-weight:800;letter-spacing:-.5px;}
.sec-line h3 em{font-style:normal;font-size:15px;color:var(--love);margin-left:4px;}
.sec-line a{font-size:13px;font-weight:600;color:var(--gray-2);}
.sec-line a:hover{color:var(--brand);}

.ord{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:16px;transition:.16s;}
.ord:hover{border-color:var(--brand-l2);box-shadow:var(--sh);}
.ord.cancelled{background:var(--paper);}
.ord.cancelled .th img{filter:grayscale(.85);opacity:.7;}
.ord .hd{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 20px;background:var(--paper);border-bottom:1px solid var(--line);font-size:13px;color:var(--gray);}
.ord .hd b{font-size:14px;font-weight:700;color:var(--ink);}
.ord .hd .no{color:var(--gray-2);}
.ord .hd .st{margin-left:auto;}
.ord .bd{display:grid;grid-template-columns:210px 1fr 290px;gap:24px;padding:22px 20px;}
.ord .th{display:block;border-radius:12px;overflow:hidden;background:var(--sand);align-self:start;}
.ord .th img{width:100%;aspect-ratio:10/7;object-fit:cover;display:block;}
.ord .th.sym{border:1px solid var(--line-2);background:var(--brand-l);}
.ord .th.sym img{object-fit:cover;}
.ord .tt{display:block;margin-top:2px;font-size:17px;font-weight:700;letter-spacing:-.4px;line-height:1.5;color:var(--ink);}
.ord a.tt:hover{color:var(--brand);}
.ord dl{margin-top:15px;display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:13.5px;}
.ord dt{color:var(--gray-2);white-space:nowrap;}
.ord dd{color:var(--ink);font-weight:600;line-height:1.6;}
.ord .amt{border-left:1px solid var(--line-2);padding-left:24px;}
.ord .amt .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;color:var(--gray-2);}
.ord .amt .row b{font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;}
.ord .amt .tot{margin-top:9px;padding-top:13px;border-top:1px solid var(--line);}
.ord .amt .tot span{font-size:13.5px;color:var(--gray);}
.ord .amt .tot b{font-size:22px;font-weight:800;letter-spacing:-1px;color:var(--brand);}
.ord .amt .due{margin-top:12px;background:var(--love-l);color:var(--love-d);border-radius:10px;padding:10px 13px;font-size:12.5px;font-weight:700;text-align:center;}
.ord .prog{display:flex;gap:6px;padding:0 20px 20px;}
.ord .prog span{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--gray-2);background:var(--line-2);border-radius:9px;padding:10px 6px;}
.ord .prog span.done{background:var(--grow-l);color:var(--grow-d);}
.ord .prog span.on{background:var(--brand);color:#fff;}
.ord .ft{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--line-2);background:var(--paper);}
.ord .ft .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
.prod .wish.on{color:var(--love);background:#fff;}
@media (max-width:1280px){
  .ord .bd{grid-template-columns:180px 1fr 250px;gap:18px;}
}
@media (max-width:1100px){
  .ord .bd{grid-template-columns:200px 1fr;}
  .ord .amt{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line-2);padding-left:0;padding-top:16px;}
  .ord .amt .due{text-align:left;}
}
@media (max-width:620px){
  .ord .bd{grid-template-columns:1fr;padding:18px 16px;}
  .ord .hd,.ord .ft{padding:12px 16px;}
  .ord .hd .st{margin-left:0;width:100%;}
  .ord dl{grid-template-columns:1fr;gap:3px 0;}
  .ord dt{margin-top:8px;}
  .ord .prog{flex-wrap:wrap;padding:0 16px 16px;}
  .ord .prog span{flex:0 0 calc(50% - 3px);}
  .ord .ft .right{margin-left:0;width:100%;}
  .sec-line{flex-wrap:wrap;}
}

/* =========================================================
   소셜(간편) 로그인 · 간편 가입
   ========================================================= */
.sns-div{display:flex;align-items:center;gap:14px;margin:26px 0 16px;font-size:12.5px;font-weight:600;color:var(--gray-2);white-space:nowrap;}
.sns-div::before,.sns-div::after{content:"";flex:1;height:1px;background:var(--line);}
.sns-list{display:grid;gap:9px;}
.sns-list.g2{grid-template-columns:1fr 1fr;}
.sns{position:relative;display:flex;align-items:center;justify-content:center;height:52px;border-radius:12px;border:1px solid transparent;font-size:15px;font-weight:700;letter-spacing:-.3px;transition:.15s;}
.sns svg{position:absolute;left:18px;width:19px;height:19px;}
.sns:hover{filter:brightness(.95);}
.sns.kakao{background:#FEE500;color:#191600;}
.sns.naver{background:#03C75A;color:#fff;}
.sns.google{background:#fff;color:#3C4043;border-color:#DADCE0;}
.sns.google:hover{background:#F7F8FA;filter:none;}
.sns.apple{background:#000;color:#fff;}
.sns-note{margin-top:14px;font-size:12.5px;color:var(--gray-2);line-height:1.75;text-align:center;}
.sns-note b{color:var(--gray);}
@media (max-width:620px){
  .sns-list.g2{grid-template-columns:1fr;}
  .sns{font-size:14.5px;}
  .sns svg{left:16px;}
}

/* =========================================================
   아카데미 (패스포트 · 기술과 신앙 · 리얼 라이프)
   게시판형 목록 / 상세 / 공유 · 댓글 · 답글 · 덧글
   ========================================================= */


/* 안내 박스 */
.ac-note{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:26px 30px;}
.ac-note p{font-size:15.5px;color:var(--gray);line-height:1.9;}
.ac-note p+p{margin-top:6px;}
.ac-note b{color:var(--brand-d);}

/* 카테고리 카드 */
.ac-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.ac-cats.g3{grid-template-columns:repeat(3,1fr);}
.ac-cat{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:.18s;}
.ac-cat:hover{border-color:var(--brand);box-shadow:var(--sh-2);transform:translateY(-2px);}
.ac-cat .thumb{aspect-ratio:16/9;overflow:hidden;background:var(--sand);}
.ac-cat .thumb img{width:100%;height:100%;object-fit:cover;}
.ac-cat .bd{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.ac-cat .tt{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.ac-cat h3{font-size:19px;font-weight:800;letter-spacing:-.5px;line-height:1.4;}
.ac-cat h3 em{display:block;font-style:normal;font-size:13.5px;font-weight:600;color:var(--gray-2);margin-top:4px;}
.ac-cat .clk{flex:0 0 auto;height:34px;padding:0 16px;border-radius:17px;background:var(--brand);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;}
.ac-cat:hover .clk{background:var(--love);}
.ac-cat ul{margin-top:16px;border-top:1px solid var(--line-2);padding-top:14px;}
.ac-cat li{font-size:14px;color:var(--gray);line-height:1.65;padding:5px 0 5px 16px;position:relative;}
.ac-cat li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:var(--love);}

/* 목록 페이지 헤더 */
.ac-hd{display:grid;grid-template-columns:480px 1fr;gap:44px;align-items:center;}
.ac-hd .fig{border-radius:18px;overflow:hidden;background:var(--sand);}
.ac-hd .fig img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.ac-hd h2{font-size:30px;font-weight:800;letter-spacing:-1px;color:var(--love-d);}
.ac-hd p{margin-top:14px;font-size:15.5px;color:var(--gray);line-height:1.9;}
.ac-hd ul{margin-top:16px;}
.ac-hd li{font-size:14.5px;color:var(--brand-d);padding:4px 0 4px 16px;position:relative;}
.ac-hd li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:var(--brand);}

/* 게시글 카드 목록 */
.ac-cards{columns:4;column-gap:22px;}
.ac-cards.c3{columns:3;}
.ac-post{break-inside:avoid;display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:22px;transition:.18s;}
.ac-post:hover{border-color:var(--brand);box-shadow:var(--sh);}
.ac-post img{width:100%;aspect-ratio:16/11;object-fit:cover;background:var(--sand);}
.ac-post .bd{padding:18px 20px 20px;}
.ac-post .kind{display:inline-block;font-size:11.5px;font-weight:700;border-radius:10px;padding:3px 9px;background:var(--brand-l);color:var(--brand-d);}
.ac-post .kind.talk{background:var(--love-l);color:var(--love-d);}
.ac-post .kind.col{background:var(--grow-l);color:var(--grow-d);}
.ac-post b{display:block;margin:10px 0 8px;font-size:16.5px;font-weight:700;line-height:1.45;}
.ac-post p{font-size:13.5px;color:var(--gray);line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.ac-post .meta{margin-top:12px;padding-top:11px;border-top:1px solid var(--line-2);display:flex;gap:12px;font-size:12px;color:var(--gray-2);}
.ac-post .meta .r{margin-left:auto;}

/* 상세 페이지 */
.post-wrap{max-width:900px;margin:0 auto;}
.post-top{border-bottom:2px solid var(--ink);padding-bottom:20px;}
.post-top .kind{font-size:12.5px;font-weight:700;color:var(--gray-2);}
.post-top h2{margin-top:6px;font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1.4;}
.post-top .info{margin-top:14px;display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--gray-2);}
.post-top .info b{font-weight:700;color:var(--gray);}
.post-top .info .r{margin-left:auto;}
.post-body{padding:30px 0 10px;}
.post-body h3{font-size:19px;font-weight:800;margin:34px 0 12px;display:flex;align-items:center;gap:8px;}
.post-body h3 i{font-style:normal;}
.post-body p{font-size:15.5px;color:var(--gray);line-height:1.9;margin-bottom:14px;}
.post-body img{border-radius:14px;margin:18px 0;}
.post-body ul{margin:0 0 18px;}
.post-body ul li{font-size:15px;color:var(--gray);line-height:1.8;padding:5px 0 5px 16px;position:relative;}
.post-body ul li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--love);}
.post-body ol{margin:0 0 18px;padding-left:2px;counter-reset:n;}
.post-body ol li{counter-increment:n;font-size:15px;color:var(--gray);line-height:1.8;padding:5px 0 5px 28px;position:relative;}
.post-body ol li::before{content:counter(n);position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.post-body .lead-q{font-size:17px;font-weight:700;color:var(--ink);line-height:1.8;}
.qhook{border:1px solid var(--line);border-left:4px solid var(--love);border-radius:0 14px 14px 0;background:var(--paper);padding:20px 24px;}
.qhook span{display:block;font-size:12.5px;font-weight:800;color:var(--love-d);margin-bottom:8px;letter-spacing:.3px;}
.qhook p{font-size:16px;font-weight:700;color:var(--ink);line-height:1.8;margin:0;}
.pstep{border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:12px;background:#fff;}
.pstep b{display:block;font-size:15.5px;margin-bottom:6px;color:var(--brand-d);}
.pstep p{margin:0;font-size:15px;}
.attach{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--line);border-radius:12px;padding:12px 16px;background:var(--paper);font-size:13.5px;color:var(--gray);}
.attach i{font-style:normal;}
.attach b{font-weight:700;color:var(--brand-d);}
.attach em{font-style:normal;color:var(--gray-2);font-size:12.5px;}

/* 공유 바 */
.share-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:28px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.share-bar .lb{font-size:13px;font-weight:700;color:var(--gray);margin-right:4px;}
.share-bar button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:18px;background:#fff;font-size:13px;font-weight:600;color:var(--gray);transition:.15s;}
.share-bar button:hover{border-color:var(--brand);color:var(--brand);}
.share-bar button.kakao{background:#FEE500;border-color:#FEE500;color:#191600;}
.share-bar button.band{background:#22C37E;border-color:#22C37E;color:#fff;}
.share-bar .like{margin-left:auto;background:var(--love-l);border-color:var(--love-l);color:var(--love-d);font-weight:700;}
.share-bar .like.on{background:var(--love);border-color:var(--love);color:#fff;}
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%) translateY(20px);background:var(--brand-dd);color:#fff;font-size:13.5px;padding:12px 22px;border-radius:24px;opacity:0;pointer-events:none;transition:.22s;z-index:200;}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0);}

/* 댓글 · 답글 · 덧글 */
.cmt-sec{margin-top:34px;}
.cmt-sec .hd{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.cmt-sec .hd h4{font-size:17px;font-weight:800;}
.cmt-sec .hd em{font-style:normal;color:var(--love);font-weight:800;}
.cmt-sec .hd .right{margin-left:auto;display:flex;gap:8px;}
.cmt-form{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:16px 18px;}
.cmt-form .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.cmt-form input[type=text],.cmt-form select{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;font-size:13.5px;}
.cmt-form input[type=text]{width:180px;}
.cmt-form label.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gray);}
.cmt-form label.chk input{width:16px;height:16px;accent-color:var(--brand);}
.cmt-form textarea{width:100%;height:96px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;font-size:14px;line-height:1.7;resize:vertical;}
.cmt-form .ft{display:flex;align-items:center;gap:10px;margin-top:10px;}
.cmt-form .ft .cnt{font-size:12.5px;color:var(--gray-2);}
.cmt-form .ft .btn{margin-left:auto;}
.cmt-form.reply{margin:12px 0 4px 54px;background:var(--brand-l);border-color:var(--brand-l2);}
.cmt-list{margin-top:22px;border-top:1px solid var(--line);}
.cmt{display:flex;gap:14px;padding:20px 2px;border-bottom:1px solid var(--line-2);}
.cmt .av{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;}
.cmt .av.t{background:var(--love-l);color:var(--love-d);}
.cmt .av.p{background:var(--grow-l);color:var(--grow-d);}
.cmt .bd{flex:1;min-width:0;}
.cmt .who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;}
.cmt .who b{font-weight:700;}
.cmt .who .badge{font-size:11px;font-weight:700;border-radius:9px;padding:2px 8px;background:var(--brand-l);color:var(--brand-d);}
.cmt .who .badge.t{background:var(--love-l);color:var(--love-d);}
.cmt .who time{font-size:12.5px;color:var(--gray-2);}
.cmt .tx{margin-top:7px;font-size:14.5px;color:var(--gray);line-height:1.8;white-space:pre-line;}
.cmt .act{margin-top:9px;display:flex;gap:14px;}
.cmt .act button{font-size:12.5px;font-weight:600;color:var(--gray-2);}
.cmt .act button:hover{color:var(--brand);}
.cmt.re{margin-left:54px;padding-left:16px;border-left:2px solid var(--line);background:var(--paper);border-radius:0 12px 12px 0;}
.cmt.re .av{flex-basis:32px;width:32px;height:32px;font-size:13px;}
.cmt.re::before{content:"↳";position:absolute;}
.cmt.re{position:relative;}
.cmt.re::before{left:-14px;top:22px;color:var(--gray-2);font-size:13px;}

/* 글 하단 이동 */
.post-nav{display:flex;align-items:center;gap:8px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);}
.post-nav .right{margin-left:auto;display:flex;gap:8px;}
.post-move{margin-top:26px;border-top:1px solid var(--line);}
.post-move a{display:flex;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line-2);font-size:14.5px;}
.post-move a:hover{background:var(--paper);}
.post-move span{flex:0 0 74px;font-size:12.5px;font-weight:700;color:var(--gray-2);}
.post-move b{font-weight:600;color:var(--ink);}

@media (max-width:1280px){ .ac-cards{columns:3;} }
@media (max-width:1100px){
  .ac-cats,.ac-cats.g3{grid-template-columns:repeat(2,1fr);}
  .ac-cards,.ac-cards.c3{columns:2;}
  .ac-hd{grid-template-columns:1fr;gap:26px;}
}
@media (max-width:620px){
  .ac-cats,.ac-cats.g3{grid-template-columns:1fr;}
  .ac-cards,.ac-cards.c3{columns:1;}
  .post-top h2{font-size:22px;}
  .cmt-form.reply{margin-left:0;}
  .cmt.re{margin-left:18px;}
  .share-bar .like{margin-left:0;}
}

/* =========================================================
   회원지원 — 자주찾는질문 · 온라인 1:1 문의
   ========================================================= */
.faq-list{border-top:2px solid var(--brand);}
.faq-list details{border-bottom:1px solid var(--line);}
.faq-list summary{display:flex;align-items:flex-start;gap:12px;padding:20px 44px 20px 4px;cursor:pointer;list-style:none;position:relative;font-size:16px;font-weight:600;line-height:1.55;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary i{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);font-style:normal;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.faq-list summary::after{content:"";position:absolute;right:12px;top:26px;width:8px;height:8px;border-right:2px solid var(--gray-2);border-bottom:2px solid var(--gray-2);transform:rotate(45deg);transition:.18s;}
.faq-list details[open] summary::after{transform:rotate(-135deg);}
.faq-list details[open] summary{color:var(--brand-d);}
.faq-list summary:hover{background:var(--paper);}
.faq-list .ans{display:flex;gap:12px;padding:0 20px 24px 4px;background:var(--paper);}
.faq-list .ans i{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--love-l);color:var(--love-d);font-style:normal;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.faq-list .ans p{font-size:15px;color:var(--gray);line-height:1.85;}
.faq-list .ans p+p{margin-top:8px;}
.faq-list .ans ul{margin-top:8px;}
.faq-list .ans li{font-size:14.5px;color:var(--gray);line-height:1.8;padding:3px 0 3px 15px;position:relative;}
.faq-list .ans li::before{content:"";position:absolute;left:0;top:14px;width:5px;height:5px;border-radius:50%;background:var(--love);}
.faq-list .cat{display:inline-block;font-size:11.5px;font-weight:700;color:var(--brand-d);background:var(--brand-l);border-radius:10px;padding:2px 9px;margin-right:8px;}

.qa-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.qa-guide div{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:#fff;}
.qa-guide b{display:block;font-size:15px;margin-bottom:6px;}
.qa-guide p{font-size:13.5px;color:var(--gray);line-height:1.7;}
@media (max-width:900px){ .qa-guide{grid-template-columns:1fr;} }



/* =========================================================
   상단 메뉴 — 로고와 한 줄 배치 (대메뉴 9개)
   ========================================================= */
@media (min-width:1280px){
  .site-head .container{flex-wrap:nowrap;height:78px;gap:18px;}
  .site-head .logo img{height:38px;}
  .gnb{display:block;margin-left:16px;flex:0 1 auto;min-width:0;}
  .gnb>ul{gap:12px;}
  .gnb>ul>li{flex:0 0 auto;}
  .gnb>ul>li.hot{height:78px;}
  .gnb>ul>li>a{height:78px;line-height:78px;font-size:16px;}
  .gnb .sub{top:72px;left:-14px;}
  .gnb .sub a{font-size:15px;padding:9px 20px;}
  .head-util{gap:8px;}
  .head-util .txt{display:inline-flex;font-size:13px;}
  .head-util a.txt:first-of-type{display:none;}
  .menu-btn{display:none;}
  .lnb{top:116px;}
  .my-side{top:134px;}
  .res-bar{top:128px;}
  html{scroll-padding-top:130px;}
}
/* 1280~1440px — 메뉴 폭 보정 */
@media (min-width:1280px) and (max-width:1440px){
  .gnb{margin-left:12px;}
  .gnb>ul{gap:10px;}
  .gnb>ul>li>a{font-size:15px;}
  .head-util .txt{display:none;}
}
/* 1279px 이하 — 햄버거 메뉴 */
@media (max-width:1279px){
  .gnb{display:none;}
  .head-util .txt{display:none;}
  .menu-btn{display:block;}
  .site-head .container{height:70px;flex-wrap:nowrap;}
  .site-head .logo img{height:36px;}
  .lnb{top:108px;}
  .my-side{top:126px;}
  .res-bar{top:120px;}
  html{scroll-padding-top:124px;}
}

/* 강조 메뉴 — 나의 프로그램 */
.gnb>ul>li.hot>a{color:#fff;background:var(--love);border-radius:19px;height:38px;line-height:38px;padding:0 15px;align-self:center;box-shadow:0 4px 12px rgba(197,101,46,.28);}
.gnb>ul>li.hot>a::after{border-color:rgba(255,255,255,.9);}
.gnb>ul>li.hot>a:hover,.gnb>ul>li.hot.on>a{background:var(--love-d);color:#fff;box-shadow:none;}
.gnb>ul>li.hot .sub a:hover{background:var(--love-l);color:var(--love-d);}
.drawer h4.hot{color:var(--love-d);}
@media (min-width:1280px){ .gnb>ul>li.hot{display:flex;align-items:center;height:78px;} }

/* =========================================================
   나의 프로그램 — 탭 · 검색 · 앨범 목록 · 상세
   ========================================================= */
.pg-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:22px;}
.pg-tabs button{padding:13px 22px;font-size:15.5px;font-weight:700;color:var(--gray);border-radius:12px 12px 0 0;}
.pg-tabs button:hover{color:var(--love-d);background:var(--paper);}
.pg-tabs button.on{color:var(--love-d);background:#fff;box-shadow:inset 0 -3px 0 var(--love);}
.pg-tabs button em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--gray-2);margin-left:6px;}
.pg-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:24px;}
.pg-search select{height:44px;border:1px solid var(--line);border-radius:22px;padding:0 16px;background:#fff;font-size:14px;}
.pg-search .inp{flex:1;min-width:240px;max-width:520px;position:relative;}
.pg-search input{width:100%;height:44px;border:1px solid var(--line);border-radius:22px;padding:0 46px 0 18px;background:#fff;font-size:14.5px;}
.pg-search input:focus{outline:none;border-color:var(--love);box-shadow:0 0 0 3px rgba(197,101,46,.14);}
.pg-search .go{position:absolute;right:6px;top:5px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-2);}
.pg-search .go:hover{color:var(--love);}
.pg-search .cnt{font-size:13px;color:var(--gray-2);}
.album{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.album .item{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.18s;}
.album .item:hover{border-color:var(--love);box-shadow:var(--sh-2);transform:translateY(-2px);}
.album .item img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--sand);}
.album .item .bd{padding:16px 18px 20px;}
.album .item .wk{display:inline-block;font-size:11.5px;font-weight:700;color:var(--love-d);background:var(--love-l);border-radius:10px;padding:3px 9px;}
.album .item b{display:block;margin:10px 0 6px;font-size:15.5px;font-weight:700;line-height:1.5;}
.album .item span.dept{font-size:12.5px;color:var(--gray-2);}
.album .item .meta{margin-top:12px;padding-top:11px;border-top:1px solid var(--line-2);display:flex;gap:10px;font-size:12px;color:var(--gray-2);}
.album .item .meta .r{margin-left:auto;}
.album-empty{padding:60px 0;text-align:center;color:var(--gray-2);font-size:14.5px;}
@media (max-width:1280px){ .album{grid-template-columns:repeat(3,1fr);} }
@media (max-width:900px){ .album{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .album{grid-template-columns:1fr;} }

/* 상세 — 자료 고정 영역 */
.res-bar{position:sticky;top:128px;z-index:35;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);padding:18px 22px;margin-bottom:26px;}
.res-bar h4{font-size:14px;margin-bottom:12px;color:var(--gray-2);font-weight:700;}
.res-row{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);}
.res-row:last-child{border-bottom:0;}
.res-row .lb{font-size:13.5px;font-weight:800;color:var(--love-d);}
.res-row .fl{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px;color:var(--gray);border:1px solid var(--line);border-radius:22px;padding:8px 16px;background:var(--paper);}
.res-row .fl b{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.res-row .fl em{font-style:normal;color:var(--gray-2);font-size:12.5px;white-space:nowrap;}
@media (max-width:760px){ .res-bar{position:static;} .res-row{grid-template-columns:1fr;gap:6px;} }

/* 상세 — 본문 블록 */
.pg-cover{border-radius:18px;background:linear-gradient(140deg,#EAF3EC,#EFF5FD);border:1px solid #DDE7DE;text-align:center;padding:40px 24px;margin-bottom:34px;}
.pg-cover .eyebrow{display:inline-block;font-size:12px;font-weight:700;color:var(--grow-d);background:#fff;border-radius:14px;padding:5px 14px;}
.pg-cover h2{margin-top:16px;font-size:27px;font-weight:800;color:#1F4A34;line-height:1.45;letter-spacing:-1px;}
.pg-cover p{margin-top:12px;font-size:14.5px;color:#4B6B58;}
.pg-sec{margin-bottom:34px;}
.pg-sec>h3{font-size:19px;font-weight:800;display:flex;align-items:center;gap:8px;}
.pg-sec>h3 i{font-style:normal;}
.pg-sec>.desc{margin:6px 0 16px;font-size:14px;color:var(--gray-2);}
.pg-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.pg-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pg-box{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:#fff;}
.pg-box b.t{display:block;font-size:15px;margin-bottom:10px;}
.pg-box ul li{font-size:14px;color:var(--gray);line-height:1.75;padding:4px 0 4px 15px;position:relative;}
.pg-box ul li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:var(--gray-2);}
.pg-box.red{background:#FDF3F1;border-color:#F2D9D4;} .pg-box.red b.t{color:#A5401F;} .pg-box.red li::before{background:#C2513A;}
.pg-box.green{background:#EEF5F0;border-color:#D8E7DC;} .pg-box.green b.t{color:#2F6B4A;} .pg-box.green li::before{background:#4E9169;}
.pg-box.blue{background:#EEF2FA;border-color:#D9E2F1;} .pg-box.blue b.t{color:var(--brand-d);} .pg-box.blue li::before{background:var(--brand);}
.pg-box.gold{background:#FBF4E6;border-color:#EEE2C6;} .pg-box.gold b.t{color:#8A6A1F;} .pg-box.gold li::before{background:#C9A227;}
.pg-step{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff;}
.pg-step span.no{display:inline-block;font-size:11.5px;font-weight:800;color:#fff;background:var(--love);border-radius:9px;padding:3px 10px;}
.pg-step b{display:block;margin:10px 0 7px;font-size:15.5px;}
.pg-step p{font-size:13.5px;color:var(--gray);line-height:1.7;}
.pg-verse{border-left:4px solid var(--grow);background:var(--grow-l);border-radius:0 14px 14px 0;padding:18px 22px;font-size:15px;color:#2F6B4A;line-height:1.8;}
.pg-declare{border:2px solid var(--grow);border-radius:16px;background:#F4FAF5;padding:32px 24px;text-align:center;}
.pg-declare span{display:inline-block;font-size:12.5px;font-weight:700;color:var(--grow-d);}
.pg-declare b{display:block;margin-top:14px;font-size:21px;font-weight:800;color:#1F4A34;line-height:1.6;}
.pg-pray{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:28px 26px;text-align:center;font-size:15px;color:var(--gray);line-height:1.95;}
.pg-pray .mission{margin-top:18px;display:inline-block;border:1px dashed var(--line);border-radius:12px;padding:12px 18px;font-size:13.5px;color:var(--gray-2);background:#fff;}
@media (max-width:760px){ .pg-2,.pg-3{grid-template-columns:1fr;} .pg-cover h2{font-size:21px;} }
.pg-box .wk{display:inline-block;font-size:11.5px;font-weight:700;border-radius:9px;padding:3px 10px;background:#fff;border:1px solid rgba(27,38,53,.08);color:inherit;}

/* =========================================================
   마이페이지 — 구독관리 (현재 상태 · 추가 결제)
   ========================================================= */
.sub-now{border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px 26px;box-shadow:var(--sh);}
.sub-now .hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line-2);}
.sub-now .hd b{font-size:19px;font-weight:800;letter-spacing:-.5px;}
.sub-now .hd .dim{margin-left:auto;font-size:12.5px;color:var(--gray-2);}
.sub-now .rows{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;}
.sub-now .rows div{background:var(--paper);border-radius:12px;padding:12px 14px;}
.sub-now .rows span{display:block;font-size:12.5px;color:var(--gray-2);}
.sub-now .rows b{display:block;margin-top:3px;font-size:14.5px;font-weight:700;}
.sub-now .prog{margin-top:18px;}
.sub-now .prog span{display:block;margin-top:8px;font-size:12.5px;color:var(--gray-2);}
.sub-now .prog b{color:var(--brand-d);}
.sub-now .acts{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2);display:flex;gap:8px;flex-wrap:wrap;}

.pay-grid{display:grid;grid-template-columns:1fr 330px;gap:26px;align-items:start;}
.pay-lb{margin:22px 0 12px;font-size:14.5px;font-weight:800;color:var(--ink);}
.pay-lb:first-child{margin-top:0;}
.pay-hint{margin-top:10px;font-size:12.5px;color:var(--gray-2);line-height:1.7;}

.plan-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.plan-op{display:block;cursor:pointer;}
.plan-op input{position:absolute;opacity:0;width:0;height:0;}
.plan-op .in{display:block;position:relative;border:1.5px solid var(--line);border-radius:14px;padding:18px 14px 16px;background:#fff;text-align:center;transition:.15s;}
.plan-op:hover .in{border-color:var(--brand-l2);}
.plan-op.on .in{border-color:var(--brand);background:var(--brand-l);box-shadow:0 4px 14px rgba(30,58,109,.12);}
.plan-op .in b{display:block;font-size:15px;font-weight:800;}
.plan-op .in em{display:block;margin-top:6px;font-style:normal;font-size:17px;font-weight:800;letter-spacing:-.6px;}
.plan-op .in i{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--gray-2);}
.plan-op .dc{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:#fff;background:var(--love);border-radius:9px;padding:2px 9px;white-space:nowrap;}

.use-box{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:6px 18px;}
.use-row{display:grid;grid-template-columns:76px 1fr;gap:10px 14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-2);}
.use-row:last-child{border-bottom:0;}
.use-row .k{font-size:13.5px;font-weight:700;}
.use-row .v{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.use-row .v input[type=number]{width:170px;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;text-align:right;}
.use-row .v select{height:42px;min-width:280px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;}
.use-row .d{grid-column:2;font-size:12.5px;color:var(--gray-2);}
.use-row .d b{color:var(--brand-d);}

.pay-ways{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.way{display:block;cursor:pointer;}
.way input{position:absolute;opacity:0;width:0;height:0;}
.way span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:74px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:700;color:var(--gray);transition:.15s;}
.way span i{font-style:normal;font-size:17px;}
.way:hover span{border-color:var(--brand-l2);}
.way.on span{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d);}
.pay-detail{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:#fff;}
.pay-detail .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pay-detail .field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;}
.pay-detail .field select,.pay-detail .field input{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;}
.simple-note{font-size:14.5px;color:var(--gray);line-height:1.8;}
.simple-note b{color:var(--ink);}

.pay-sum{position:sticky;top:150px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px 24px;box-shadow:var(--sh);}
.pay-sum h4{font-size:16px;margin-bottom:14px;}
.pay-sum .row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:13.5px;color:var(--gray);}
.pay-sum .row b{font-weight:700;color:var(--ink);}
.pay-sum .row.dc b{color:var(--love-d);}
.pay-sum .tot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line);}
.pay-sum .tot span{font-size:14px;font-weight:700;}
.pay-sum .tot b{font-size:23px;font-weight:800;letter-spacing:-1px;color:var(--brand);}
.pay-sum .way-txt{margin-top:10px;font-size:12.5px;color:var(--gray-2);}
.pay-sum .way-txt b{color:var(--brand-d);}
.pay-sum .note{margin-top:12px;font-size:12px;color:var(--gray-2);line-height:1.7;}

@media (max-width:1100px){
  .pay-grid{grid-template-columns:1fr;}
  .pay-sum{position:static;}
  .sub-now .rows{grid-template-columns:repeat(2,1fr);}
  .pay-ways{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:620px){
  .plan-pick{grid-template-columns:repeat(2,1fr);}
  .sub-now .rows{grid-template-columns:1fr;}
  .pay-ways{grid-template-columns:repeat(2,1fr);}
  .pay-detail .f2{grid-template-columns:1fr;}
  .use-row{grid-template-columns:1fr;}
  .use-row .d{grid-column:1;}
}

/* =========================================================
   마이페이지 — 공통 팝업(쿠폰 등록 등)
   ========================================================= */
.mp-modal{position:fixed;inset:0;z-index:120;background:rgba(14,30,60,.5);display:flex;align-items:center;justify-content:center;padding:20px;}
.mp-modal[hidden]{display:none;}
.mp-modal .box{width:100%;max-width:440px;background:#fff;border-radius:18px;box-shadow:var(--sh-2);overflow:hidden;}
.mp-modal .hd{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);}
.mp-modal .hd b{font-size:16px;font-weight:800;}
.mp-modal .hd .x{font-size:15px;color:var(--gray-2);}
.mp-modal .bd{padding:24px 22px;}
.mp-modal .lead{font-size:14px;color:var(--gray);margin-bottom:14px;}
.mp-modal .code{display:flex;align-items:center;gap:6px;}
.mp-modal .code input{flex:1;min-width:0;height:50px;border:1.5px solid var(--line);border-radius:12px;background:#fff;text-align:center;font-size:17px;font-weight:700;letter-spacing:2px;text-transform:uppercase;}
.mp-modal .code input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,58,109,.12);}
.mp-modal .code span{color:var(--gray-2);font-weight:700;}
.mp-modal .msg{margin-top:12px;font-size:13px;font-weight:600;color:var(--red);background:#FBE9EA;border-radius:10px;padding:10px 14px;}
.mp-modal .msg.ok{color:var(--grow-d);background:var(--grow-l);}
.mp-modal .tips{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2);}
.mp-modal .tips li{font-size:12.5px;color:var(--gray-2);line-height:1.75;padding:2px 0 2px 14px;position:relative;}
.mp-modal .tips li::before{content:"";position:absolute;left:0;top:12px;width:4px;height:4px;border-radius:50%;background:var(--gray-2);}
.mp-modal .sample{margin-top:14px;background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:10px 14px;font-size:12.5px;color:var(--gray-2);}
.mp-modal .sample b{color:var(--brand-d);letter-spacing:.5px;}
.mp-modal .ft{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--line);background:var(--paper);}
.mp-modal .ft .r{margin-left:auto;display:flex;gap:8px;}
.coupon.new{border-color:var(--grow);box-shadow:0 0 0 3px rgba(134,169,143,.22);}
@media (max-width:480px){ .mp-modal .code input{height:44px;font-size:15px;letter-spacing:1px;} }

/* =========================================================
   회원 탈퇴
   ========================================================= */
.wd-wrap{max-width:1100px;margin:0 auto;}
.wd-warn{border:1px solid #F0D9D5;background:#FDF5F3;border-radius:14px;padding:18px 22px;}
.wd-warn li{font-size:14px;color:var(--gray);line-height:1.8;padding:6px 0 6px 16px;position:relative;}
.wd-warn li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:#C2513A;}
.wd-warn li b{color:var(--ink);}
.wd-reason{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;margin-bottom:14px;}
.wd-reason .check input{accent-color:var(--brand);}
#wdMemo{width:100%;height:96px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;font-size:14px;line-height:1.7;resize:vertical;}
.wd-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-2);}
.btn-red{border:1.5px solid #E7C6C3;background:#fff;color:var(--red);}
.btn-red:hover{background:var(--red);border-color:var(--red);color:#fff;}
.wd-confirm{width:100%;height:48px;margin-top:10px;border:1.5px solid var(--line);border-radius:12px;padding:0 16px;background:#fff;font-size:15px;font-weight:700;text-align:center;}
.wd-confirm:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(180,68,63,.14);}
.wd-done{max-width:640px;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:52px 34px;box-shadow:var(--sh);}
.wd-done .ic{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:var(--brand-l);display:flex;align-items:center;justify-content:center;font-size:34px;}
.wd-done h2{font-size:24px;font-weight:800;letter-spacing:-.8px;}
.wd-done p{margin-top:14px;font-size:15px;color:var(--gray);line-height:1.8;}
.wd-steps{margin:26px 0 0;text-align:left;border-top:1px solid var(--line-2);}
.wd-steps li{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line-2);}
.wd-steps b{font-size:13px;font-weight:800;color:var(--brand-d);}
.wd-steps span{font-size:14px;color:var(--gray);line-height:1.7;}
.wd-done .note{margin-top:18px;font-size:12.5px;color:var(--gray-2);}
.wd-done .acts{margin-top:24px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
@media (max-width:760px){ .wd-reason{grid-template-columns:1fr;} .wd-steps li{grid-template-columns:1fr;gap:4px;} }

/* =========================================================
   가로 스트립 배너 (높이 80px)
   ========================================================= */
.strip-banner{display:flex;align-items:center;gap:18px;height:80px;padding:0 26px;border-radius:16px;
  background:linear-gradient(90deg,var(--brand) 0%,var(--brand-dd) 100%);color:#fff;overflow:hidden;position:relative;transition:.18s;}
.strip-banner::after{content:"";position:absolute;right:-30px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.06);}
.strip-banner:hover{box-shadow:var(--sh-2);transform:translateY(-1px);}
.strip-banner .ic{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:20px;z-index:1;}
.strip-banner .tx{flex:1;min-width:0;z-index:1;}
.strip-banner .tx b{display:block;font-size:17px;font-weight:800;letter-spacing:-.4px;}
.strip-banner .tx em{display:block;margin-top:3px;font-style:normal;font-size:13px;color:rgba(255,255,255,.78);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.strip-banner .go{flex:0 0 auto;z-index:1;font-size:13.5px;font-weight:700;background:rgba(255,255,255,.16);border-radius:20px;padding:9px 16px;white-space:nowrap;}
.strip-banner:hover .go{background:#fff;color:var(--brand-d);}
@media (max-width:620px){
  .strip-banner{height:auto;padding:18px 20px;gap:14px;}
  .strip-banner .tx em{white-space:normal;}
  .strip-banner .go{display:none;}
}

/* 이미지 가로 배너 (높이 200px) */
.img-banner{display:block;height:200px;border-radius:16px;overflow:hidden;background:var(--sand);transition:.18s;}
.img-banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.img-banner:hover{box-shadow:var(--sh-2);transform:translateY(-1px);}
@media (max-width:900px){ .img-banner{height:150px;} }
@media (max-width:620px){ .img-banner{height:110px;border-radius:12px;} }

/* =========================================================
   회원가입 — SNS 연결 · 오류 메시지 · 계정 연결 목록
   ========================================================= */
.sns-linked{display:flex;align-items:center;gap:14px;border:1px solid var(--brand-l2);background:var(--brand-l);border-radius:14px;padding:16px 18px;margin-bottom:20px;}
.sns-linked .ic{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;background:#FEE500;color:#191600;}
.sns-linked .ic.naver{background:#03C75A;color:#fff;}
.sns-linked .ic.google{background:#fff;color:#4285F4;border:1px solid var(--line);}
.sns-linked b{display:block;font-size:14.5px;}
.sns-linked p{margin-top:3px;font-size:12.5px;color:var(--gray);line-height:1.65;}
.sns-linked .undo{margin-left:auto;font-size:12.5px;color:var(--gray-2);text-decoration:underline;white-space:nowrap;}
.sns-linked .undo:hover{color:var(--red);}
.field .err{margin-top:7px;font-size:12.5px;font-weight:600;color:var(--red);background:#FBE9EA;border-radius:9px;padding:9px 12px;line-height:1.6;}
.sns-list button.sns{width:100%;}

.sns-link li{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--line-2);}
.sns-link li:last-child{border-bottom:0;}
.sns-link .ic{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;background:#FEE500;color:#191600;}
.sns-link .ic.naver{background:#03C75A;color:#fff;}
.sns-link .ic.google{background:#fff;color:#4285F4;border:1px solid var(--line);}
.sns-link .tx{flex:1;min-width:0;}
.sns-link .tx b{display:block;font-size:14.5px;}
.sns-link .tx .st{display:block;margin-top:3px;font-size:12.5px;color:var(--gray-2);}
@media (max-width:620px){
  .sns-list[style]{grid-template-columns:1fr !important;}
  .sns-link li{flex-wrap:wrap;}
  .sns-link .tx{flex:1 0 60%;}
}

/* =========================================================
   소개 — 지표 · 이미지 박스 · 비전 목록
   ========================================================= */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}
.stat-row div{background:var(--brand-l);border:1px solid var(--brand-l2);border-radius:14px;padding:16px 18px;}
.stat-row b{display:block;font-size:24px;font-weight:800;letter-spacing:-1px;color:var(--brand-d);}
.stat-row span{display:block;margin-top:4px;font-size:12.5px;color:var(--gray);line-height:1.55;}
.fig-box{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--sh);}
.fig-box img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sand);}
.fig-box figcaption{padding:14px 18px;font-size:13px;color:var(--gray-2);line-height:1.6;background:var(--paper);}
.vision-list{counter-reset:v;margin-top:6px;}
.vision-list li{counter-increment:v;position:relative;padding:10px 0 10px 40px;font-size:15.5px;color:var(--gray);line-height:1.85;border-bottom:1px solid var(--line-2);}
.vision-list li:last-child{border-bottom:0;}
.vision-list li::before{content:counter(v);position:absolute;left:0;top:13px;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.vision-list li b{color:var(--ink);}

/* 아카데미 — 세 공간 안내 카드 */
.ac-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ac-intro article{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.18s;}
.ac-intro article:hover{border-color:var(--brand);box-shadow:var(--sh-2);transform:translateY(-2px);}
.ac-intro .thumb{aspect-ratio:16/9;background:var(--sand);}
.ac-intro .thumb img{width:100%;height:100%;object-fit:cover;}
.ac-intro .bd{display:flex;flex-direction:column;flex:1;padding:24px 24px 26px;}
.ac-intro h3{font-size:21px;font-weight:800;letter-spacing:-.6px;}
.ac-intro p{margin-top:12px;font-size:14.5px;color:var(--gray);line-height:1.85;flex:1;}
.ac-intro .use{display:inline-block;align-self:flex-start;margin:16px 0 14px;font-size:12px;font-weight:700;color:var(--grow-d);background:var(--grow-l);border-radius:11px;padding:4px 11px;}
.ac-intro .more-link{margin-top:10px;text-align:center;font-size:13px;font-weight:700;color:var(--brand-d);}
.ac-intro .more-link:hover{text-decoration:underline;}
@media (max-width:1000px){ .ac-intro{grid-template-columns:1fr;} .stat-row{grid-template-columns:1fr;} }

/* 콘텐츠 출력 */
.print-bar{display:flex;align-items:center;gap:8px;margin:18px 0 6px;}
.print-bar .note{font-size:12.5px;color:var(--gray-2);}
@media print{
  .site-head,.top-bar,.drawer,.lnb,.site-foot,.share-bar,.cmt-sec,.post-nav,.post-move,.print-bar,.page-hero .crumb{display:none !important;}
  .post-wrap{max-width:100%;}
  body{font-size:12pt;}
}

/* =========================================================
   주일학교 — 반 선택 · 반별 게시판 · 콘텐츠 상세 · 결제 완료
   ========================================================= */
.cls-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;}
.cls-pick article{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.18s;}
.cls-pick article:hover{border-color:var(--brand);box-shadow:var(--sh-2);transform:translateY(-2px);}
.cls-pick .thumb{aspect-ratio:16/10;background:var(--sand);}
.cls-pick .thumb img{width:100%;height:100%;object-fit:cover;}
.cls-pick .bd{padding:20px 20px 22px;}
.cls-pick h3{font-size:19px;font-weight:800;letter-spacing:-.5px;}
.cls-pick .age{display:block;margin:6px 0 16px;font-size:12.5px;color:var(--gray-2);}
.cls-pick .dl{margin-top:8px;}
.cls-pick .no-dl{display:block;margin-top:14px;text-align:center;font-size:12px;color:var(--gray-2);}

.cls-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.cls-bar .info b{font-size:18px;font-weight:800;}
.cls-bar .info span{display:block;margin-top:3px;font-size:12.5px;color:var(--gray-2);}
.cls-bar .search{margin-left:auto;display:flex;gap:8px;}
.cls-bar .search input{width:280px;max-width:52vw;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;}
.cls-board thead th{font-size:13.5px;}
.cls-board td{font-size:14px;text-align:center;color:var(--gray);}
.cls-board td.tt{text-align:left;}
.cls-board td.tt a{font-weight:600;color:var(--ink);}
.cls-board td.tt a:hover{color:var(--brand);text-decoration:underline;}
.cls-board tbody tr:hover{background:var(--paper);}

.res-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:24px 0;}
.res-line{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line-2);background:#fff;}
.res-line:last-child{border-bottom:0;}
.res-line .lb{font-size:14px;font-weight:800;color:var(--brand-d);}
.res-line .acts{display:flex;gap:8px;flex-wrap:wrap;}
.cv-view{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0E1E3C;}
.cv-view .ph{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;
  background:linear-gradient(140deg,#1D56B0,#12407F);}
.cv-view .ph .play{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:22px;}
.cv-view .ph b{font-size:16px;}
.cv-view .ph span{font-size:12.5px;color:rgba(255,255,255,.72);}

.pay-done{max-width:640px;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:48px 34px;box-shadow:var(--sh);}
.pay-done .mark{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:var(--grow-l);color:var(--grow-d);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;}
.pay-done h2{font-size:24px;font-weight:800;letter-spacing:-.8px;}
.pay-done p{margin-top:14px;font-size:15.5px;color:var(--gray);line-height:1.85;}
.pay-done p.lead{margin-top:20px;font-weight:700;color:var(--ink);}
.pay-done p.warn{margin-top:8px;font-size:12.5px;color:var(--love-d);}
.share-form{margin-top:22px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:20px 22px;}
.share-form .row+.row{margin-top:14px;}
.share-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;}
.share-form .hint{margin-top:14px;font-size:12.5px;color:var(--gray-2);line-height:1.7;}
.pay-done .acts{margin-top:24px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
@media (max-width:1000px){ .cls-pick{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){
  .cls-pick{grid-template-columns:1fr;}
  .res-line{grid-template-columns:1fr;}
  .cls-board td:nth-child(3),.cls-board th:nth-child(3),.cls-board td:nth-child(5),.cls-board th:nth-child(5){display:none;}
}

/* =========================================================
   가정신앙 실천교육
   ========================================================= */
.ff-hero{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--sand);}
.ff-hero img{width:100%;aspect-ratio:3/1;object-fit:cover;}
.ff-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px;}
.ff-pick article{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:.18s;}
.ff-pick article:hover{border-color:var(--brand);box-shadow:var(--sh-2);transform:translateY(-2px);}
.ff-pick .thumb{aspect-ratio:12/5;background:var(--sand);}
.ff-pick .thumb img{width:100%;height:100%;object-fit:cover;}
.ff-pick .bd{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.ff-pick h3{font-size:23px;font-weight:800;letter-spacing:-.6px;}
.ff-pick p{margin-top:12px;font-size:14.5px;color:var(--gray);line-height:1.85;flex:1;}
.ff-pick .acts{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap;}
.ff-pick .acts .btn{flex:1;min-width:150px;justify-content:center;}
.btn-red-solid{background:#D34B3F;border:1.5px solid #D34B3F;color:#fff;font-weight:700;}
.btn-red-solid:hover{background:#B33C31;border-color:#B33C31;color:#fff;}
@media (max-width:860px){ .ff-pick{grid-template-columns:1fr;} .ff-hero img{aspect-ratio:2/1;} }

/* =========================================================
   제안합니다 — 목록 · 글쓰기 · 글읽기
   ========================================================= */
.sg-board td.tt .lock{font-style:normal;font-size:12px;margin-right:4px;}
.sg-board tr.re td{background:var(--paper);}
.sg-board tr.re td.tt{padding-left:26px;}
.sg-board tr.re .arrow{color:var(--gray-2);margin-right:8px;}
.sg-board tr.re a{font-size:13.5px;color:var(--brand);}
.sg-foot{display:flex;align-items:center;gap:12px;margin-top:20px;}
.sg-foot .pager{margin-left:auto;}
.sg-foot .btn{margin-left:auto;}
.sg-foot .pager+.btn{margin-left:12px;}

.wr-row{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-2);}
.wr-row .k{font-size:13.5px;font-weight:700;}
.wr-row .v{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.wr-row .v input[type=text],.wr-row .v input[type=password]{flex:1;min-width:220px;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;}
.wr-row.open{border:1.5px solid var(--love);border-radius:12px;padding:12px 16px;margin-bottom:6px;background:var(--love-l);}
.wr-row .hint{font-style:normal;font-size:12.5px;color:var(--gray-2);}
.editor{margin:18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.editor .tb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 10px;background:var(--paper);border-bottom:1px solid var(--line);}
.editor .tb button{height:30px;padding:0 9px;border:1px solid transparent;border-radius:7px;font-size:13px;color:var(--gray);}
.editor .tb button:hover{background:#fff;border-color:var(--line);color:var(--ink);}
.editor .tb i{width:1px;height:18px;background:var(--line);margin:0 4px;}
.editor textarea{width:100%;height:300px;border:0;padding:18px;font-size:14.5px;line-height:1.8;resize:vertical;background:#fff;}
.editor textarea:focus{outline:none;}
.wr-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;}

.lock-box{border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:620px;}
.lock-box .msg{padding:20px 22px;background:#fff;}
.lock-box .msg b{display:block;font-size:15px;margin-bottom:6px;}
.lock-box .msg span{font-size:13.5px;color:var(--gray);line-height:1.7;}
.lock-box .pw{display:flex;align-items:center;justify-content:center;gap:10px;padding:22px;background:var(--paper);border-top:1px solid var(--line-2);}
.lock-box .pw label{font-size:13.5px;font-weight:700;}
.lock-box .pw input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;width:200px;}
.lock-box .err{padding:0 22px 18px;font-size:12.5px;font-weight:600;color:var(--red);background:var(--paper);}
.btn-pink{background:#E8407A;border:1.5px solid #E8407A;color:#fff;font-weight:700;}
.btn-pink:hover{background:#C92C63;border-color:#C92C63;color:#fff;}
.reply-box{margin-top:26px;border-left:4px solid var(--brand);background:var(--brand-l);border-radius:0 14px 14px 0;padding:22px 24px;}
.reply-box .tag{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:var(--brand);border-radius:10px;padding:3px 10px;}
.reply-box p{margin-top:12px;font-size:15px;color:var(--gray);line-height:1.85;}
.reply-box .date{display:block;margin-top:12px;font-size:12.5px;color:var(--gray-2);}
@media (max-width:620px){ .wr-row{grid-template-columns:1fr;} .lock-box .pw{flex-wrap:wrap;} }

/* SNS 시작 — 회원 유형 선택 팝업 */
.st-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;}
.st-pick button{border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:20px 16px;text-align:center;transition:.15s;}
.st-pick button:hover{border-color:var(--brand);background:var(--brand-l);box-shadow:0 4px 14px rgba(30,58,109,.12);}
.st-pick .ico{display:block;font-size:26px;}
.st-pick b{display:block;margin:10px 0 6px;font-size:15.5px;}
.st-pick span:not(.ico){display:block;font-size:12.5px;color:var(--gray);line-height:1.6;}
@media (max-width:520px){ .st-pick{grid-template-columns:1fr;} }
.sns-hr{height:1px;background:var(--line);margin:24px 0 20px;}

/* ===== about: 가정 신앙회복 · 청소년 고민 응답 (V6_5) ===== */
.aq-family{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}
.aq-family .ph{border-radius:18px;overflow:hidden;box-shadow:var(--sh);}
.aq-family .ph img{width:100%;aspect-ratio:568/530;object-fit:cover;display:block;}
.aq-family .lead{font-size:19px;font-weight:700;color:var(--ink);line-height:1.6;letter-spacing:-.4px;}
.aq-family p{font-size:16px;color:var(--gray);line-height:1.9;margin-top:18px;}
.aq-family .hl{color:var(--red);font-weight:700;}
.aq-title{text-align:center;font-size:30px;font-weight:900;letter-spacing:-1px;color:var(--grow-d);margin-bottom:46px;}
.aq-title small{display:block;margin-top:10px;font-size:15.5px;font-weight:500;color:var(--gray);letter-spacing:-.2px;}
.aq-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
.aq-row+.aq-row{margin-top:72px;padding-top:72px;border-top:1px dashed var(--line);}
.aq-row .ph{border-radius:18px;overflow:hidden;box-shadow:var(--sh);}
.aq-row .ph img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.aq-row h3{font-size:30px;font-weight:500;letter-spacing:-1px;line-height:1.4;color:var(--red);margin-bottom:24px;}
.aq-row ul{list-style:none;margin:0;padding:0;}
.aq-row li{position:relative;padding-left:22px;font-size:16px;font-weight:700;color:var(--ink);line-height:1.65;}
.aq-row li+li{margin-top:16px;}
.aq-row li::before{content:"Q";position:absolute;left:0;top:0;font-weight:900;color:var(--red);}
.aq-row .note{margin-top:22px;font-size:15px;font-weight:700;color:var(--grow-d);}
.aq-row.alt .ph{order:-1;}
.aq-row.boxed{border-top:0;padding:0;background:var(--paper);border-radius:22px;padding:56px 56px 56px 0;overflow:visible;}
.aq-row.boxed .ph{margin-top:-96px;margin-left:56px;}
.aq-row.boxed li{font-weight:600;color:var(--gray);}
.aq-future{background:#F5F5F5;overflow:hidden;}
.aq-future .inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}
.aq-future .ph img{width:100%;max-width:560px;display:block;}
.aq-future h3{font-size:32px;font-weight:900;letter-spacing:-1px;color:var(--grow-d);margin-bottom:22px;}
.aq-future p{font-size:16px;color:var(--gray);line-height:1.85;}
.aq-future p+p{margin-top:16px;}
.aq-future .caps{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.aq-future .caps span{padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--grow-d);}
.aq-future .end{margin-top:22px;font-weight:700;color:var(--ink);}
@media (max-width:1100px){
  .aq-family,.aq-row,.aq-future .inner{gap:32px;}
  .aq-row h3{font-size:25px;}
  .aq-row.boxed{padding:40px 40px 40px 0;}
  .aq-row.boxed .ph{margin-left:40px;margin-top:-64px;}
}
@media (max-width:860px){
  .aq-family,.aq-row,.aq-future .inner{grid-template-columns:1fr;}
  .aq-row.alt .ph{order:0;}
  .aq-row .ph{order:-1;}
  .aq-row+.aq-row{margin-top:48px;padding-top:48px;}
  .aq-row.boxed{padding:0 24px 32px;margin-top:88px;}
  .aq-row.boxed .ph{margin:-56px 0 0;}
  .aq-title{font-size:23px;margin-bottom:32px;}
  .aq-future h3{font-size:25px;}
  .aq-future .ph img{margin:0 auto;}
}
@media (max-width:620px){
  .aq-row h3{font-size:22px;}
  .aq-family .lead{font-size:17px;}
  .aq-family p,.aq-row li,.aq-future p{font-size:15px;}
}

/* ===== 사업내용(topics.html) (V6_6) ===== */
.bz-spiral{background:#2E3140;color:#fff;padding:56px 0;}
.bz-spiral-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:52px;align-items:center;}
.bz-spiral .ph img{width:100%;aspect-ratio:551/394;object-fit:cover;display:block;border-radius:6px;}
.bz-spiral h2{font-size:23px;font-weight:800;line-height:1.55;letter-spacing:-.6px;}
.bz-spiral .motto{margin:8px 0 18px;font-size:19px;font-weight:700;font-style:italic;color:#F5C451;}
.bz-spiral p{font-size:15px;line-height:1.8;color:rgba(255,255,255,.88);}
.bz-spiral dl{margin-top:22px;}
.bz-spiral dt{display:inline-block;margin-top:16px;font-size:15px;font-weight:700;color:#F5C451;border-bottom:1px solid #F5C451;}
.bz-spiral dd{margin:6px 0 0;font-size:14.5px;line-height:1.75;color:rgba(255,255,255,.85);}
.bz-philo-head{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.bz-philo-head h2{flex:1;text-align:center;font-size:32px;font-weight:900;letter-spacing:-1px;color:var(--red);}
.bz-philo-head .q{font-family:Georgia,"Times New Roman",serif;font-size:110px;line-height:.8;height:60px;font-weight:900;color:#E2504B;}
.bz-philo-lead{margin-top:18px;text-align:center;font-size:15px;line-height:1.85;color:var(--gray);}
.bz-philo-lead b{color:var(--ink);}
.bz-philo-box{margin-top:32px;padding:40px 32px;border:10px solid var(--line-2);border-radius:28px;text-align:center;background:#fff;}
.bz-philo-box p{font-size:15.5px;line-height:1.9;color:var(--ink);}
.bz-philo-box .sub{font-weight:600;}
.bz-philo-box .hl{font-size:17px;font-weight:800;color:var(--red);}
.bz-philo-box em{font-style:normal;font-weight:800;color:var(--red);}
.bz-core-band{background:#ECEAE6;padding:44px 0 50px;}
.bz-core-title{position:relative;width:max-content;max-width:100%;margin:0 auto;padding:22px 90px 34px 30px;border-left:10px solid #111;}
.bz-core-title::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:#111;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}
.bz-core-title .en{display:block;font-size:28px;font-weight:800;color:#111;letter-spacing:-.5px;}
.bz-core-title h2{margin-top:12px;font-size:28px;font-weight:800;color:var(--red);letter-spacing:-.8px;}
.bz-core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 44px;}
.bz-core-grid .no,.bz-dept .no{display:block;font-size:52px;font-weight:500;line-height:1;color:var(--grow-d);letter-spacing:-1px;}
.bz-core-grid h3{margin-top:28px;font-size:16px;font-weight:700;color:var(--red);line-height:1.5;}
.bz-core-grid h3::after{content:"";display:block;width:40px;height:2px;background:#111;margin-top:18px;}
.bz-core-grid p,.bz-core-grid li{margin-top:22px;font-size:14.5px;line-height:1.85;color:var(--gray);}
.bz-core-grid ul{list-style:none;padding:0;margin:22px 0 0;}
.bz-core-grid li{margin-top:4px;padding-left:14px;position:relative;font-weight:600;color:var(--ink);}
.bz-core-grid li::before{content:"-";position:absolute;left:0;}
.bz-bar-title{padding:4px 0 4px 22px;border-left:4px solid var(--line);font-size:30px;font-weight:900;line-height:1.45;color:var(--red);letter-spacing:-1px;margin-bottom:28px;}
.bz-cmp-wrap{overflow-x:auto;}
.bz-cmp{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;}
.bz-cmp thead th{padding:14px 16px;background:#3C3F4C;color:#fff;font-weight:700;text-align:center;}
.bz-cmp thead th.new{background:#1D4E5F;}
.bz-cmp tbody th{padding:16px;background:#F4F5F7;font-weight:700;color:var(--ink);text-align:center;border-bottom:1px solid #E6E8EC;}
.bz-cmp tbody td{padding:16px 18px;color:var(--gray-2);border-bottom:1px solid #E6E8EC;vertical-align:middle;line-height:1.7;}
.bz-cmp tbody td.new{background:#EEF6F8;color:var(--ink);}
.bz-cmp td small{display:block;margin-top:4px;font-size:12.5px;color:var(--gray);}
.bz-cmp .chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;}
.bz-cmp .chips span{padding:6px 8px;border-radius:4px;background:#D9EAF0;border:1px solid #C4DCE5;text-align:center;font-size:12.5px;font-weight:700;color:#1D4E5F;}
.bz-cmp .chips.warm{grid-template-columns:repeat(3,minmax(0,140px));}
.bz-cmp .chips.warm span{background:#FCEBD6;border-color:#F4D2A8;color:#9A5A17;}
.bz-lineup{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;}
.bz-lineup .dk{background:#2C2C2E;display:flex;align-items:center;justify-content:center;min-height:380px;}
.bz-lineup .dk h2{font-size:48px;font-weight:500;color:#fff;letter-spacing:-1.5px;}
.bz-lineup .lt{background:#F4F1EB;display:flex;flex-direction:column;justify-content:center;padding:48px;text-align:center;}
.bz-lineup .lt h3{font-size:22px;font-weight:700;line-height:1.6;color:var(--ink);}
.bz-lineup .lt p{margin-top:20px;font-size:14.5px;line-height:1.8;color:var(--gray);}
.bz-dept{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;}
.bz-dept .no{color:#222;}
.bz-dept h3{margin-top:28px;font-size:15.5px;font-weight:800;color:var(--ink);}
.bz-dept h3::after{content:"";display:block;width:40px;height:2px;background:#111;margin-top:16px;}
.bz-dept .quote{margin-top:18px;font-size:14.5px;font-weight:700;color:var(--gray);}
.bz-dept ul{list-style:none;padding:0;margin:10px 0 0;}
.bz-dept li{position:relative;padding-left:14px;margin-top:8px;font-size:14px;line-height:1.8;color:var(--gray);}
.bz-dept li::before{content:"•";position:absolute;left:0;}
.bz-dept li b{color:var(--ink);}
.bz-dept .more{display:inline-block;margin-top:18px;font-size:13.5px;font-weight:700;color:var(--brand-d);}
@media (max-width:1100px){
  .bz-core-grid,.bz-dept{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bz-philo-head .q{font-size:80px;height:44px;}
}
@media (max-width:860px){
  .bz-spiral-in,.bz-lineup{grid-template-columns:1fr;gap:28px;}
  .bz-lineup{gap:0;}
  .bz-lineup .dk{min-height:180px;}
  .bz-lineup .dk h2{font-size:36px;}
  .bz-lineup .lt{padding:32px 24px;}
  .bz-philo-lead br,.bz-philo-box br{display:none;}
  .bz-core-title{padding:18px 40px 28px 22px;}
  .bz-core-title .en,.bz-core-title h2{font-size:23px;}
}
@media (max-width:620px){
  .bz-core-grid,.bz-dept{grid-template-columns:1fr;gap:40px;}
  .bz-philo-head .q{display:none;}
  .bz-philo-head h2{font-size:25px;}
  .bz-bar-title{font-size:23px;}
  .bz-philo-box{padding:28px 18px;border-width:6px;}
  .bz-spiral h2{font-size:19px;}
  .bz-spiral .motto{font-size:16px;}
  .bz-core-grid .no,.bz-dept .no{font-size:42px;}
}

/* ===== 주일학교 안내(curriculum.html) 리디자인 (V6_7) ===== */
.sc-intro{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;align-items:center;}
.sc-eyebrow{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:2px;color:var(--brand);}
.sc-intro h2{margin-top:12px;font-size:34px;font-weight:800;line-height:1.35;letter-spacing:-1.2px;color:var(--ink);}
.sc-intro .lead{margin-top:22px;font-size:17px;line-height:1.8;color:var(--ink);}
.sc-intro .lead b{color:var(--brand-d);}
.sc-intro p{margin-top:14px;font-size:15.5px;line-height:1.8;color:var(--gray);}
.sc-set{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none;}
.sc-set li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;}
.sc-set i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-l);color:var(--brand);font-style:normal;font-weight:800;}
.sc-set b{font-size:14px;color:var(--ink);}
.sc-pass{position:relative;padding:34px 32px;border-radius:24px;color:#fff;background:linear-gradient(145deg,var(--brand) 0%,var(--brand-dd) 100%);box-shadow:0 20px 44px -18px rgba(18,64,127,.55);overflow:hidden;}
.sc-pass::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:28px solid rgba(255,255,255,.08);}
.sc-pass .tag-pill{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12.5px;font-weight:700;}
.sc-pass h3{margin-top:14px;font-size:21px;font-weight:800;letter-spacing:-.5px;}
.sc-pass p{margin-top:12px;font-size:14.5px;line-height:1.75;color:rgba(255,255,255,.88);}
.sc-pass p b{color:#fff;}
.sc-steps{display:flex;gap:6px;margin:20px 0 0;padding:0;list-style:none;counter-reset:st;}
.sc-steps li{flex:1;padding:10px 6px;border-radius:10px;background:rgba(255,255,255,.12);text-align:center;font-size:12.5px;font-weight:700;counter-increment:st;}
.sc-steps li::before{content:counter(st);display:block;font-size:16px;font-weight:800;color:#FFD66B;}
.sc-dl{display:block;margin-top:22px;padding:14px;border-radius:999px;background:#fff;color:var(--brand-d);text-align:center;font-weight:800;}
.sc-dl:hover{background:#FFD66B;color:var(--ink);}
.sc-depts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;}
.sc-dept{grid-column:span 2;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s;}
.sc-dept:nth-child(4),.sc-dept:nth-child(5){grid-column:span 3;}
.sc-dept:nth-child(n+4) .th{aspect-ratio:16/5.4;}
.sc-dept:hover{transform:translateY(-4px);box-shadow:var(--sh);}
.sc-dept .th{position:relative;aspect-ratio:16/8;overflow:hidden;}
.sc-dept .th img{width:100%;height:100%;object-fit:cover;display:block;}
.sc-dept .age{position:absolute;left:18px;top:18px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.94);font-size:12.5px;font-weight:800;color:var(--ink);}
.sc-dept .bd{flex:1;display:flex;flex-direction:column;padding:24px 26px 26px;}
.sc-dept h3{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.5px;}
.sc-dept h3 em{font-style:normal;font-weight:800;margin-right:6px;padding-right:8px;border-right:2px solid var(--line);}
.c-kids h3 em{color:#C4622A;} .c-elem h3 em{color:#4E8B73;} .c-mid h3 em{color:#2A4F8F;} .c-high h3 em{color:#1F5563;} .c-adult h3 em{color:#9A4E36;}
.sc-dept p{margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--gray);}
.sc-dept ul{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid var(--line-2);}
.sc-dept li{padding:6px 11px;border-radius:8px;background:var(--paper);font-size:12.5px;font-weight:600;color:var(--gray);}
.sc-dept .go{margin-top:auto;padding-top:20px;font-size:14px;font-weight:800;color:var(--brand-d);}
.sc-ops{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start;}
.sc-h3{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.4px;}
.sc-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:18px 0 22px;padding:0;list-style:none;}
.sc-flow li{position:relative;padding:18px 12px;border-radius:14px;background:var(--brand-l);text-align:center;}
.sc-flow li+li::before{content:"›";position:absolute;left:-20px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:800;color:var(--brand);}
.sc-flow b{display:block;font-size:16px;color:var(--brand-dd);}
.sc-flow span{display:block;margin-top:4px;font-size:12.5px;color:var(--gray);}
.sc-p{margin-top:12px;font-size:15px;line-height:1.85;color:var(--gray);}
.sc-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.sc-roles div{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#fff;}
.sc-roles i{font-style:normal;font-size:13px;font-weight:800;color:var(--love);}
.sc-roles b{display:block;margin-top:6px;font-size:16px;color:var(--ink);}
.sc-roles span{display:block;margin-top:4px;font-size:13.5px;color:var(--gray);}
.sc-ex{padding:26px;border-radius:20px;background:var(--brand-l);border:1px solid var(--brand-l2);}
.sc-ex h4,.sc-tools h4{font-size:17px;font-weight:800;color:var(--ink);}
.sc-ex table{width:100%;margin:16px 0 18px;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:14px;}
.sc-ex th{padding:12px 16px;text-align:left;background:var(--brand-dd);color:#fff;font-weight:700;}
.sc-ex td{padding:12px 16px;border-top:1px solid var(--line-2);color:var(--gray);}
.sc-tools{margin-top:18px;padding:26px;border-radius:20px;border:1px solid var(--line);background:#fff;}
.sc-tools p{margin:8px 0 14px;font-size:14px;color:var(--gray);}
.sc-tools a{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-radius:12px;background:var(--paper);font-size:14px;font-weight:700;color:var(--ink);}
.sc-tools a+a{margin-top:8px;}
.sc-tools a:hover{background:var(--brand-l);color:var(--brand-d);}
@media (max-width:1100px){
  .sc-intro,.sc-ops{grid-template-columns:minmax(0,1fr) 340px;gap:32px;}
  .sc-depts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sc-dept,.sc-dept:nth-child(4),.sc-dept:nth-child(5){grid-column:span 1;}
  .sc-dept:nth-child(5){grid-column:span 2;}
  .sc-dept:nth-child(4) .th{aspect-ratio:16/8;}
}
@media (max-width:860px){
  .sc-intro,.sc-ops{grid-template-columns:1fr;}
  .sc-intro h2{font-size:27px;}
  .sc-intro h2 br{display:none;}
  .sc-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .sc-flow li+li::before{display:none;}
}
@media (max-width:620px){
  .sc-depts{grid-template-columns:1fr;}
  .sc-dept:nth-child(5){grid-column:span 1;}
  .sc-dept:nth-child(n+4) .th{aspect-ratio:16/8;}
  .sc-set{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sc-roles{grid-template-columns:1fr;}
  .sc-intro h2{font-size:23px;}
  .sc-pass{padding:28px 22px;}
}

/* ===== 부서 페이지(class-*.html) 리디자인 (V6_8) ===== */
.dp-age{display:inline-block;vertical-align:middle;margin-left:10px;padding:5px 14px;border-radius:999px;background:var(--brand-l);color:var(--brand-d);font-size:15px;font-weight:800;letter-spacing:0;}
.dp-ov{--dp:#2A6FDB;--dp-l:#EAF3FF;padding:44px 0 52px;background:linear-gradient(180deg,var(--dp-l) 0,#fff 100%);border-bottom:1px solid var(--line);}
.dp-kids{--dp:#C4622A;--dp-l:#FBEFE7;} .dp-elem{--dp:#3F7F66;--dp-l:#EAF4EF;} .dp-mid{--dp:#2A4F8F;--dp-l:#E9EFF9;} .dp-high{--dp:#1F5563;--dp-l:#E6F1F3;}
.dp-ov-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:stretch;}
.dp-learn{padding:34px 38px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px -22px rgba(22,35,58,.35);}
.dp-eyebrow{display:inline-block;padding:5px 12px;border-radius:6px;background:var(--dp);color:#fff;font-size:12.5px;font-weight:800;}
.dp-learn h2{margin-top:14px;font-size:28px;font-weight:800;letter-spacing:-.9px;color:var(--ink);}
.dp-learn>p{margin-top:14px;font-size:16px;line-height:1.85;color:#3A475C;}
.dp-learn>p:first-of-type{padding-left:16px;border-left:4px solid var(--dp);font-weight:600;color:var(--ink);}
.dp-learn h3{margin-top:28px;padding-top:24px;border-top:1px solid var(--line-2);font-size:18px;font-weight:800;color:var(--ink);}
.dp-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none;}
.dp-goals li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--dp-l);}
.dp-goals i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--dp);color:#fff;font-style:normal;font-size:12.5px;font-weight:800;}
.dp-goals span{font-size:15px;font-weight:600;line-height:1.6;color:var(--ink);}
.dp-ops{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px -22px rgba(22,35,58,.35);}
.dp-ops-hd{position:relative;height:120px;background:var(--dp);}
.dp-ops-hd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;}
.dp-ops-hd div{position:absolute;left:24px;bottom:18px;color:#fff;}
.dp-ops-hd b{display:block;font-size:20px;font-weight:800;}
.dp-ops-hd span{font-size:13px;opacity:.9;}
.dp-ops dl{flex:1;display:flex;flex-direction:column;margin:0;padding:8px 24px 16px;}
.dp-ops dl div{flex:1;display:grid;grid-template-columns:112px 1fr;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2);}
.dp-ops dl div:last-child{border-bottom:0;}
.dp-ops dt{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--gray);}
.dp-ops dt i{font-style:normal;font-size:15px;}
.dp-ops dd{margin:0;font-size:15px;font-weight:700;color:var(--ink);line-height:1.5;}
.dp-list{padding-top:52px;}
@media (max-width:1100px){.dp-ov-grid{grid-template-columns:minmax(0,1fr) 340px;}.dp-goals{grid-template-columns:1fr;}}
@media (max-width:860px){
  .dp-ov-grid{grid-template-columns:1fr;}
  .dp-goals{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dp-ops dl div{grid-template-columns:120px 1fr;}
}
@media (max-width:620px){
  .dp-ov{padding:28px 0 36px;}
  .dp-learn{padding:24px 20px;}
  .dp-learn h2{font-size:23px;}
  .dp-learn>p{font-size:15px;}
  .dp-goals{grid-template-columns:1fr;}
  .dp-ops dl{padding:4px 18px 10px;}
  .dp-ops dl div{grid-template-columns:96px 1fr;}
  .dp-age{font-size:13px;padding:4px 11px;}
}
@media (max-width:620px){
  .dp-list .cls-board{display:block;min-width:0;width:100%;border-top:2px solid var(--ink);}
  .dp-list .cls-board colgroup,.dp-list .cls-board thead{display:none;}
  .dp-list .cls-board tbody{display:block;}
  .dp-list .cls-board tr{display:grid;grid-template-columns:auto auto 1fr;gap:6px 10px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);}
  .dp-list .cls-board td{display:block;padding:0!important;border:0!important;text-align:left!important;font-size:12.5px;color:var(--gray-2);white-space:nowrap;}
  .dp-list .cls-board td:nth-child(1)::before{content:"시즌 ";}
  .dp-list .cls-board td:nth-child(3){justify-self:end;}
  .dp-list .cls-board td:nth-child(4){grid-column:1/-1;white-space:normal;font-size:15.5px;color:var(--ink);}
  .dp-list .cls-board td:nth-child(5){grid-column:1/3;}
  .dp-list .cls-board td:nth-child(5)::before{content:"조회 ";}
  .dp-list .cls-board td:nth-child(6){justify-self:end;}
  .dp-list .cls-bar{flex-direction:column;align-items:stretch;gap:12px;}
  .dp-list .cls-bar .search{width:100%;}
  .dp-list .cls-bar .search input{flex:1;min-width:0;}
}

/* 메인 히어로 수치 영역 링크 (V6_9) */
.figures b a{color:inherit;}
.figures span a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);transition:border-color .2s,color .2s;}
.figures a:hover{color:#fff;border-bottom-color:#fff;}

/* ===== 구독 안내 — 일반/가족 탭 (V6_14) ===== */
.sub-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:640px;margin:0 0 26px;padding:6px;border-radius:18px;background:var(--sand);border:1px solid var(--line);}
.sub-tabs button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border:0;border-radius:13px;background:transparent;cursor:pointer;font:inherit;color:var(--gray);transition:background .2s,color .2s,box-shadow .2s;}
.sub-tabs button b{font-size:16.5px;font-weight:800;}
.sub-tabs button span{font-size:12.5px;}
.sub-tabs button:hover{color:var(--ink);}
.sub-tabs button.on{background:#fff;color:var(--brand-d);box-shadow:0 6px 18px -10px rgba(18,64,127,.45);}
.sub-tabs button.on span{color:var(--gray);}
.sub-pane-lead{margin:0 0 20px;font-size:15px;line-height:1.75;color:var(--gray);}
.sub-pane-lead b{color:var(--ink);}
.sub-foot{margin-top:16px;font-size:13px;line-height:1.8;color:var(--gray-2);}
@media (max-width:620px){.sub-tabs{max-width:none;}.sub-tabs button b{font-size:15px;}}

/* ===== 구독 신청(subscribe-apply.html) (V6_15) ===== */
.ap-steps{display:flex;gap:10px;margin:0 0 26px;padding:0;list-style:none;}
.ap-steps li{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--sand);font-size:14px;font-weight:700;color:var(--gray-2);}
.ap-steps i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;font-style:normal;font-size:12px;}
.ap-steps li.on{background:var(--brand);color:#fff;} .ap-steps li.on i{color:var(--brand);}
.ap-steps li.done{background:var(--brand-l);color:var(--brand-d);} .ap-steps li.done i{background:var(--brand);color:#fff;}
.ap-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start;}
.ap-card{padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#fff;}
.ap-card+.ap-card{margin-top:16px;}
.ap-card h3{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:18px;font-weight:800;color:var(--ink);}
.ap-card h3 span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--brand-l);color:var(--brand-d);font-size:13px;}
.ap-type,.ap-pay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.ap-pay{grid-template-columns:repeat(4,minmax(0,1fr));}
.ap-type label,.ap-pay label,.ap-terms label{position:relative;cursor:pointer;}
.ap-type input,.ap-pay input,.ap-terms input{position:absolute;opacity:0;pointer-events:none;}
.ap-type span,.ap-pay span,.ap-terms span{display:flex;flex-direction:column;height:100%;padding:16px 18px;border:1.5px solid var(--line);border-radius:14px;transition:border-color .2s,background .2s,box-shadow .2s;}
.ap-type b{font-size:16px;color:var(--ink);} .ap-type em{margin-top:4px;font-style:normal;font-size:13px;color:var(--gray);}
.ap-pay span{align-items:center;justify-content:center;padding:14px 8px;font-size:14px;font-weight:700;color:var(--ink);}
.ap-type input:checked+span,.ap-pay input:checked+span,.ap-terms input:checked+span{border-color:var(--brand);background:var(--brand-l);box-shadow:0 0 0 3px rgba(42,111,219,.12);}
.ap-type input:focus-visible+span,.ap-pay input:focus-visible+span,.ap-terms input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px;}
.ap-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.ap-terms span{position:relative;gap:4px;}
.ap-terms b{font-size:15px;color:var(--brand-d);} .ap-terms b i{margin-left:4px;padding:2px 7px;border-radius:6px;background:var(--love-l);color:var(--love-d);font-style:normal;font-size:11px;}
.ap-terms strong{font-size:19px;font-weight:800;color:var(--ink);}
.ap-terms em{font-style:normal;font-size:12.5px;color:var(--gray);}
.ap-terms small{position:absolute;right:10px;top:-9px;padding:2px 8px;border-radius:999px;background:var(--love);color:#fff;font-size:10.5px;font-weight:800;}
.ap-member{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:14px;background:var(--paper);}
.ap-member b{display:block;font-size:16px;color:var(--ink);} .ap-member span{font-size:13.5px;color:var(--gray);}
.ap-hint{margin-top:12px;font-size:13px;color:var(--gray);line-height:1.7;} .ap-hint a{color:var(--brand);font-weight:700;}
.ap-family{margin-top:18px;padding-top:18px;border-top:1px solid var(--line-2);}
.ap-sub{margin-bottom:10px;font-size:14.5px;font-weight:700;color:var(--ink);} .ap-sub em{font-style:normal;font-weight:500;font-size:12.5px;color:var(--gray-2);}
.ap-sum{position:sticky;top:110px;}
.ap-sum-card{padding:26px;border-radius:22px;background:#fff;border:1.5px solid var(--brand-l2);box-shadow:0 18px 40px -26px rgba(18,64,127,.5);}
.ap-sum-card h4{font-size:15px;font-weight:700;color:var(--gray);}
.ap-plan{margin-top:6px;font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.5px;}
.ap-sum-card dl{margin:16px 0 0;padding:14px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);}
.ap-sum-card dl div{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;}
.ap-sum-card dt{color:var(--gray);} .ap-sum-card dd{margin:0;font-weight:700;color:var(--ink);} .ap-sum-card dd.dc{color:var(--love-d);}
.ap-total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 18px;}
.ap-total span{font-size:14.5px;font-weight:700;color:var(--ink);} .ap-total b{font-size:28px;font-weight:900;color:var(--brand-d);letter-spacing:-.8px;}
.ap-agree{display:flex;gap:8px;align-items:flex-start;margin-bottom:14px;font-size:13px;line-height:1.6;color:var(--gray);cursor:pointer;}
.ap-agree input{margin-top:3px;} .ap-agree a{color:var(--brand);text-decoration:underline;}
.ap-sum-card .err{margin:-6px 0 12px;font-size:12.5px;color:var(--red);}
.ap-notes{margin:16px 0 0;padding:0 0 0 16px;font-size:12px;line-height:1.7;color:var(--gray-2);}
.pd-plan{display:inline-block;margin-bottom:12px;padding:6px 14px;border-radius:999px;background:var(--brand-l);color:var(--brand-d);font-size:14px;font-weight:800;}
@media (max-width:1100px){.ap-grid{grid-template-columns:minmax(0,1fr) 330px;}.ap-terms{grid-template-columns:repeat(2,minmax(0,1fr));}.ap-pay{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:860px){.ap-grid{grid-template-columns:1fr;}.ap-sum{position:static;}}
@media (max-width:620px){.ap-card{padding:22px 18px;}.ap-type{grid-template-columns:1fr;}.ap-steps{flex-wrap:wrap;}.ap-steps li{padding:8px 12px;font-size:12.5px;}.ap-member{flex-direction:column;align-items:flex-start;}}

/* ===== 메인 배너 — 높이 400px · 가로 롤링 (V6_18) ===== */
.main-banner{position:relative;background:#0F2A4F;overflow:hidden;}
.main-banner .mb-track{display:flex;width:100%;height:400px;transition:transform .7s cubic-bezier(.65,0,.35,1);will-change:transform;}
.main-banner .mb-slide{flex:0 0 100%;height:100%;}
.main-banner .mb-slide a,.main-banner picture{display:block;width:100%;height:100%;}
.main-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.main-banner .mb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.78);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 18px -8px rgba(0,0,0,.35);transition:background .2s;}
.main-banner .mb-arrow:hover{background:#fff;}
.main-banner .mb-prev{left:24px;} .main-banner .mb-next{right:24px;}
.main-banner .mb-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;}
.main-banner .mb-dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.65);box-shadow:0 0 0 1px rgba(15,42,79,.18);cursor:pointer;transition:width .25s,background .25s;}
.main-banner .mb-dots button.on{width:28px;background:#fff;}
.main-banner:not(.multi) .mb-arrow,.main-banner:not(.multi) .mb-dots{display:none;}
.home-sunday{padding-top:64px;}
@media (max-width:760px){
  .main-banner .mb-track{height:320px;}
  .main-banner .mb-arrow{display:none;}
  .main-banner .mb-dots{bottom:10px;}
  .home-sunday{padding-top:44px;}
}
@media (prefers-reduced-motion:reduce){.main-banner .mb-track{transition:none;}}

/* ===== 나의 프로그램 — 상위 탭 (V6_20) ===== */
.mpv-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:34px;}
.mpv-tabs button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;padding:16px 18px;border:1.5px solid var(--line);border-radius:16px;background:#fff;font:inherit;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;}
.mpv-tabs button i{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--sand);font-style:normal;font-size:21px;}
.mpv-tabs button b{font-size:16.5px;font-weight:800;color:var(--ink);}
.mpv-tabs button span{font-size:12.5px;color:var(--gray-2);}
.mpv-tabs button:hover{border-color:var(--brand-l2);}
.mpv-tabs button.on{border-color:var(--love);background:var(--love-l);box-shadow:0 10px 24px -16px rgba(184,90,30,.6);}
.mpv-tabs button.on i{background:var(--love);}
.mpv-tabs button.on b{color:var(--love-d);}
.mpv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.mpv-head h2{font-size:26px;font-weight:800;letter-spacing:-.8px;color:var(--ink);}
.mpv-head p{margin-top:8px;font-size:15px;color:var(--gray);line-height:1.7;max-width:68ch;}
.mpv-compose{margin-top:56px;padding:40px 36px;border-radius:22px;background:var(--sand);}
.mpv-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px;}
.mpv-chips{display:flex;gap:6px;flex-wrap:wrap;}
.mpv-chips button{padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:14px;font-weight:700;color:var(--gray);cursor:pointer;}
.mpv-chips button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.mpv-filter .inp{position:relative;flex:1;min-width:220px;max-width:420px;}
.mpv-filter .inp input{width:100%;padding:11px 40px 11px 16px;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:14px;}
.mpv-filter .inp .go{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:14px;}
.mpv-filter .cnt{font-size:13px;color:var(--gray-2);}
.mpv-more{margin-top:28px;text-align:center;}
.mpv-pass{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch;}
.mpv-pass .passport{margin:0;}
.mpv-pass-side{display:flex;flex-direction:column;gap:16px;}
.mpv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.mpv-stats div{padding:18px 16px;border-radius:16px;background:var(--brand-l);text-align:center;}
.mpv-stats b{display:block;font-size:28px;font-weight:900;color:var(--brand-dd);letter-spacing:-.5px;}
.mpv-stats small{font-size:14px;font-weight:700;color:var(--gray);margin-left:2px;}
.mpv-stats span{font-size:13px;color:var(--gray);}
.mpv-today{flex:1;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;}
.mpv-today .t{font-size:17px;font-weight:800;color:var(--ink);}
.mpv-today .d{margin-top:8px;font-size:14px;line-height:1.7;color:var(--gray);}
.mpv-today .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.mpv-today .ok{margin-top:12px;font-size:13.5px;font-weight:700;color:var(--grow-d);}
.mpv-sub{margin:40px 0 14px;} .mpv-sub h3{font-size:19px;font-weight:800;color:var(--ink);}
.mpv-day{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--love-l);color:var(--love-d);font-size:12.5px;font-weight:800;}
@media (max-width:1100px){.mpv-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}.mpv-pass{grid-template-columns:1fr;}}
@media (max-width:620px){
  .mpv-tabs{gap:8px;}
  .mpv-tabs button{padding:12px;column-gap:10px;}
  .mpv-tabs button i{width:36px;height:36px;font-size:18px;}
  .mpv-tabs button b{font-size:14.5px;}
  .mpv-tabs button span{display:none;}
  .mpv-tabs button i{grid-row:auto;}
  .mpv-head{flex-direction:column;align-items:flex-start;}
  .mpv-head h2{font-size:22px;}
  .mpv-compose{padding:26px 18px;}
  .mpv-log{display:block;overflow-x:auto;}
}

/* ===== 가정신앙 실천교육 소개글 — 큰 글씨·가독성 (V6_21) ===== */
.ff-intro h2{font-size:30px;letter-spacing:-1px;}
.ff-intro p{margin-top:18px;font-size:18px;line-height:1.95;color:#3A475C;word-break:keep-all;}
.ff-intro p b{color:var(--ink);font-weight:800;}
.ff-intro .ff-lead{margin-top:22px;padding:4px 0 4px 20px;border-left:4px solid var(--love);font-size:23px;font-weight:700;line-height:1.6;color:var(--ink);letter-spacing:-.5px;}
.ff-intro .ff-lead em{font-style:normal;color:var(--love-d);}
.ff-intro .ff-pray{margin-top:28px;padding:22px 26px;border-radius:16px;background:var(--love-l);color:var(--ink);}
@media (max-width:620px){
  .ff-intro h2{font-size:24px;}
  .ff-intro p{font-size:16.5px;line-height:1.9;}
  .ff-intro p br{display:none;}
  .ff-intro .ff-lead{font-size:19px;padding-left:14px;}
  .ff-intro .ff-pray{padding:18px 18px;}
}

/* ===== 부부 관계회복 소개글 (V6_22) ===== */
.fc-intro{max-width:920px;}
.fc-courage{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none;}
.fc-courage li{display:flex;gap:16px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:#fff;}
.fc-courage i{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--love);color:#fff;font-style:normal;font-size:14px;font-weight:800;}
.fc-courage span{font-size:18px;line-height:1.7;color:#3A475C;word-break:keep-all;}
.fc-courage b{color:var(--love-d);font-weight:800;}
@media (max-width:620px){
  .fc-courage li{padding:14px 16px;gap:12px;align-items:flex-start;}
  .fc-courage i{width:32px;height:32px;font-size:12.5px;}
  .fc-courage span{font-size:16px;}
}

/* ===== 주일학교 안내 — 교육 철학 소개글 (V6_23) ===== */
.sc-phil .ff-lead{margin-top:14px;}
.sc-phil .ff-lead em{color:var(--brand-d);}
.sc-phil .ff-lead{border-left-color:var(--brand);}
.sc-verse{margin-left:2px;font-size:.85em;color:var(--gray-2);}
.sc-q{margin:26px 0 6px;padding:24px 28px;border-radius:16px;background:var(--ink);color:#fff;font-size:20px;font-weight:700;line-height:1.65;letter-spacing:-.4px;word-break:keep-all;}
.sc-phil .ff-pray{background:var(--brand-l);}
.sc-phil-sec{padding-bottom:56px;}
@media (max-width:620px){.sc-q{padding:18px 18px;font-size:17px;}.sc-q br{display:none;}}
/* 메인 배너 — 아주 넓은 화면에서 문구가 잘리지 않도록 3:1 비율 유지 (V6_24) */
@media (min-width:1921px){.main-banner .mb-track{height:20.8vw;max-height:600px;}}

/* ===== 주차 프로그램 상세 — 동영상 + 교육 자료 (V6_28) ===== */
.post-wrap.pd-wrap{max-width:1280px;}
.pd-top{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin-bottom:44px;}
.pd-video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0B1A2E;box-shadow:0 20px 44px -26px rgba(11,26,46,.7);}
.pd-video>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05);}
.pd-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 70%,rgba(0,0,0,.35) 100%);pointer-events:none;}
.pd-video.playing::after{display:none;}
.pd-video video,.pd-video iframe{width:100%;height:100%;border:0;display:block;background:#000;}
.pd-vcap{position:absolute;left:22px;right:22px;top:18px;z-index:1;color:#fff;}
.pd-vcap b{display:block;font-size:20px;font-weight:800;letter-spacing:-.4px;line-height:1.4;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.pd-vcap span{display:block;margin-top:4px;font-size:13px;opacity:.85;}
.pd-play{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);width:84px;height:60px;border:0;border-radius:16px;background:#FF0033;cursor:pointer;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);transition:transform .2s,background .2s;}
.pd-play span{position:absolute;left:50%;top:50%;transform:translate(-38%,-50%);border-style:solid;border-width:13px 0 13px 22px;border-color:transparent transparent transparent #fff;}
.pd-play:hover{transform:translate(-50%,-50%) scale(1.06);background:#E6002E;}
.pd-play:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.pd-res{padding:24px 24px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;}
.pd-res h3{padding-bottom:14px;border-bottom:2px solid var(--ink);font-size:24px;font-weight:900;letter-spacing:-.6px;color:var(--ink);}
.pd-res ul{list-style:none;margin:0;padding:0;}
.pd-res li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);}
.pd-res li b{display:block;font-size:20px;font-weight:900;color:var(--red);letter-spacing:-.5px;}
.pd-res li span{display:block;margin-top:3px;font-size:12px;color:var(--gray-2);word-break:break-all;line-height:1.5;}
.pd-res li .btn{flex:none;padding:11px 20px;border-radius:999px;font-size:14.5px;font-weight:800;}
.pd-note{margin-top:14px;font-size:12.5px;line-height:1.65;color:var(--gray-2);}
.pd-wrap .pg-sec h3{font-size:22px;}
.pd-wrap .pg-declare b{font-size:26px;}
@media (max-width:1100px){.pd-top{grid-template-columns:minmax(0,1fr) 300px;gap:20px;}.pd-res li b{font-size:18px;}}
@media (max-width:860px){.pd-top{grid-template-columns:1fr;}.pd-video{border-radius:14px;}}
@media (max-width:620px){
  .pd-vcap{left:14px;right:14px;top:12px;} .pd-vcap b{font-size:15px;} .pd-vcap span{display:none;}
  .pd-play{width:64px;height:46px;border-radius:12px;} .pd-play span{border-width:10px 0 10px 17px;}
  .pd-res{padding:20px 18px 16px;} .pd-res h3{font-size:20px;}
  .pd-wrap .pg-declare b{font-size:19px;}
}

/* ===== 마이페이지 — 감사기도/미션 (V7_04) ===== */
.pm-tbl td{vertical-align:middle;}
.pm-title{padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--ink);text-align:left;cursor:pointer;line-height:1.5;}
.pm-title::after{content:" ▾";color:var(--gray-2);font-size:12px;}
.pm-row.open .pm-title{color:var(--brand-d);} .pm-row.open .pm-title::after{content:" ▴";}
.pm-title:hover{color:var(--brand-d);text-decoration:underline;}
.pm-detail td{background:var(--paper);}
.pm-box{display:grid;gap:12px;padding:6px 0;}
.pm-box b{display:block;font-size:14px;color:var(--ink);margin-bottom:4px;}
.pm-box p{font-size:14.5px;line-height:1.75;color:#3A475C;}
.pm-box .btn{justify-self:start;}
@media (max-width:620px){.pm-tbl colgroup{display:none;}.pm-tbl th:nth-child(1),.pm-tbl td:nth-child(1){display:none;}}

/* ===== 메인 배너 — 배경 이미지 + 슬라이드별 문구 (V7_06) ===== */
.main-banner .mb-slide>a,.main-banner .mb-slide{position:relative;}
.main-banner .mb-cap{position:absolute;left:50%;top:42%;transform:translateX(-50%);width:min(860px,88%);text-align:center;color:#17366B;pointer-events:none;}
.main-banner .mb-cap b{display:block;font-size:34px;font-weight:800;letter-spacing:-1px;line-height:1.3;text-shadow:0 1px 14px rgba(255,255,255,.85);word-break:keep-all;}
.main-banner .mb-txt{display:block;margin-top:12px;font-size:17px;font-weight:500;line-height:1.7;color:#223A60;text-shadow:0 1px 10px rgba(255,255,255,.9);word-break:keep-all;}
@media (max-width:1100px){.main-banner .mb-cap b{font-size:28px;}.main-banner .mb-txt{font-size:15px;}}
@media (max-width:760px){
  .main-banner .mb-track{height:360px;}
  .main-banner img{object-position:center 30%;}
  .main-banner .mb-cap{top:38%;width:92%;}
  .main-banner .mb-cap b{font-size:20px;letter-spacing:-.5px;}
  .main-banner .mb-txt{margin-top:8px;font-size:13px;line-height:1.6;}
  .main-banner .mb-txt br{display:none;}
}

/* ===== 메인 히어로(단일 열) + 아카데미 콘텐츠 3개 (V7_06) ===== */
.hero.hero-solo{padding:64px 0 120px;}
.hero.hero-solo .container{grid-template-columns:1fr;}
.hero.hero-solo .lead{max-width:62ch;}
.home-academy{position:relative;z-index:3;margin-top:-76px;padding-bottom:64px;}
.ha-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;color:#fff;}
.ha-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:2px;color:rgba(255,255,255,.75);}
.ha-head h2{margin-top:4px;font-size:22px;font-weight:800;letter-spacing:-.5px;}
.ha-head .more{font-size:14px;font-weight:700;color:#fff;opacity:.9;}
.ha-head .more:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;}
.ha-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ha-card{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px -26px rgba(18,64,127,.55);transition:transform .2s,box-shadow .2s;}
.ha-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(18,64,127,.6);}
.ha-card .th{display:block;aspect-ratio:16/8;overflow:hidden;background:var(--sand);}
.ha-card .th img{width:100%;height:100%;object-fit:cover;display:block;}
.ha-card .bd{flex:1;display:flex;flex-direction:column;padding:18px 20px 20px;}
.ha-card .tags{display:flex;gap:6px;flex-wrap:wrap;}
.ha-card .tags em{padding:3px 9px;border-radius:999px;background:var(--paper);font-style:normal;font-size:12px;font-weight:700;color:var(--gray);}
.ha-card .tags em.tech{background:var(--brand-l);color:var(--brand-d);} .ha-card .tags em.life{background:var(--love-l);color:var(--love-d);}
.ha-card b{margin-top:12px;font-size:17px;font-weight:800;line-height:1.45;letter-spacing:-.4px;color:var(--ink);}
.ha-card .d{margin-top:8px;font-size:13.5px;line-height:1.7;color:var(--gray);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ha-card .dt{margin-top:auto;padding-top:12px;font-size:12.5px;color:var(--gray-2);}
@media (max-width:900px){.ha-grid{grid-template-columns:1fr;}.home-academy{margin-top:-60px;}.hero.hero-solo{padding:48px 0 100px;}}
@media (max-width:900px){
  .hero.hero-solo{padding:44px 0 56px;}
  .home-academy{margin-top:0;padding:34px 0 44px;}
  .ha-head{color:var(--ink);flex-wrap:wrap;}
  .ha-eyebrow{color:var(--brand);}
  .ha-head h2{font-size:20px;}
  .ha-head .more{color:var(--brand-d);}
}

/* 사업내용 5대 핵심 — 새 문구 (V7_06) */
.bz-core-grid article p+p{margin-top:10px;}
.bz-core-grid .bz-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.bz-core-grid .bz-chips span{padding:5px 11px;border-radius:999px;background:var(--grow-l);color:var(--grow-d);font-size:12.5px;font-weight:700;}
.bz-core-grid article.wide{grid-column:span 2;}
.bz-core-grid article.wide ul{list-style:none;padding:0;margin:14px 0 0;}
.bz-core-grid article.wide li{margin-top:8px;padding:12px 14px;border-radius:12px;background:var(--paper);font-weight:500;color:var(--gray);font-size:14px;line-height:1.7;}
.bz-core-grid article.wide li::before{content:none;}
.bz-core-grid article.wide li b{color:var(--red);}
@media (max-width:1100px){.bz-core-grid article.wide{grid-column:span 2;}}
@media (max-width:620px){.bz-core-grid article.wide{grid-column:auto;}}
/* 부서 교육 목표 — 제목+설명 (V7_06) */
.dp-goals-rich li{align-items:flex-start;}
.dp-goals-rich span{font-weight:500;font-size:14px;line-height:1.7;color:#3A475C;}
.dp-goals-rich span b{display:block;margin-bottom:3px;font-size:15px;font-weight:800;color:var(--ink);}
/* 주일학교 안내 — 부서 카드 4개 한 줄 (V7_06) */
.sc-depts{grid-template-columns:repeat(4,minmax(0,1fr));}
.sc-dept,.sc-dept:nth-child(4),.sc-dept:nth-child(5){grid-column:auto;}
.sc-dept:nth-child(n+4) .th{aspect-ratio:16/8;}
.sc-eyebrow{letter-spacing:1px;}
@media (max-width:1100px){.sc-depts{grid-template-columns:repeat(2,minmax(0,1fr));}.sc-dept:nth-child(5){grid-column:auto;}}
@media (max-width:620px){.sc-depts{grid-template-columns:1fr;}}
/* 가정신앙 실천 정리 (V7_06) */
.split.split-solo{grid-template-columns:1fr;}
.split.split-solo .prose{max-width:920px;}
.ff-pick.ff-pick-solo{grid-template-columns:minmax(0,1fr);max-width:620px;}
/* 교회 단체 요금 계산 (V7_06) */
.ch-calc{margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--brand-l);}
.ch-calc .f{font-size:12.5px;line-height:1.6;color:var(--gray);}
.ch-calc label{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--ink);}
.ch-calc input{width:110px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;}
.ch-calc .r{margin-top:10px;font-size:13.5px;color:var(--gray);}
.ch-calc .r b{font-size:18px;color:var(--brand-dd);}
/* V7_09 교회 메인 — 히어로(교육관 안내 카드 포함) 아래 아카데미 콘텐츠 */
.hero.hero-ha{padding-bottom:140px;}
@media (max-width:900px){.hero.hero-ha{padding-bottom:56px;}}

/* ===== 주일학교 안내 — 3년 커리큘럼 로드맵 (V7_14 · 좌우 높이 균형) ===== */
.sc-phil-grid{display:grid;grid-template-columns:minmax(0,1fr) 640px;gap:48px;align-items:stretch;}
.sc-phil-grid .fc-intro{max-width:none;}
.sc-road{display:flex;min-width:0;}
.rd-card{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #E3EAF5;border-radius:24px;padding:24px 26px 20px;box-shadow:0 18px 44px rgba(29,86,176,.10);position:relative;overflow:hidden;}
.rd-card::before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--brand-l),transparent 70%);pointer-events:none;}
.rd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;}
.rd-head h3{margin-top:6px;font-size:22px;letter-spacing:-.6px;color:var(--ink);}
.rd-sub{margin-top:4px;font-size:13px;color:var(--gray);}
.rd-kpi{list-style:none;margin:2px 0 0;padding:0;display:flex;gap:6px;}
.rd-kpi li{min-width:62px;padding:8px 8px 7px;border-radius:12px;background:#F6F8FC;text-align:center;}
.rd-kpi b{display:block;font-size:19px;font-weight:900;letter-spacing:-.5px;color:var(--ink);line-height:1.1;}
.rd-kpi span{display:block;margin-top:2px;font-size:10.5px;font-weight:700;color:var(--gray);white-space:nowrap;}
.rd-main{flex:1;display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:center;margin-top:12px;}
.rd-chart{width:330px;}
.rd-svg{display:block;width:100%;height:auto;overflow:visible;}
.rd-w{cursor:pointer;transition:opacity .2s;}
.rd-svg:hover .rd-w{opacity:.45;}
.rd-svg .rd-w:hover,.rd-svg .rd-w.on{opacity:1;}
.rd-w.on{stroke:var(--ink) !important;}
.rd-num{font-size:46px;font-weight:900;fill:var(--ink);letter-spacing:-2px;}
.rd-unit{font-size:12.5px;font-weight:700;fill:var(--gray);}
.rd-tick{font-size:10.5px;font-weight:700;fill:#9AA6B8;}
.rd-wait .rd-w{opacity:0;}
.rd-play .rd-w{animation:rdIn .5s ease both;animation-delay:var(--d);}
@keyframes rdIn{from{opacity:0}to{opacity:1}}
.rd-side{display:flex;flex-direction:column;gap:12px;min-width:0;}
.rd-info{min-height:178px;padding:16px;border-radius:16px;background:#F6F8FC;}
.rd-badge{display:inline-block;color:#fff;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;}
.rd-wk{display:block;margin-top:8px;font-size:12px;font-weight:700;color:var(--gray);}
.rd-info b{display:block;margin-top:4px;font-size:15.5px;line-height:1.45;color:var(--ink);word-break:keep-all;}
.rd-info p{margin-top:6px;font-size:12.5px;line-height:1.6;color:var(--gray);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;}
.rd-set-t{display:block;font-size:11.5px;font-weight:800;color:var(--gray);margin-bottom:6px;}
.rd-set{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.rd-set span{font-size:11.5px;font-weight:700;color:var(--brand-d);background:var(--brand-l);padding:6px 8px;border-radius:999px;text-align:center;white-space:nowrap;}
.rd-legend{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.rd-legend li{min-width:0;padding:11px 12px;border-radius:12px;border:1px solid #EEF2F8;cursor:default;transition:.2s;outline:none;}
.rd-legend li:hover,.rd-legend li:focus-visible{border-color:#C9D8F2;background:#FAFCFF;}
.rd-l-hd{display:flex;align-items:center;gap:6px;font-size:13px;}
.rd-l-hd .dot{width:9px;height:9px;border-radius:50%;flex:none;}
.rd-l-hd em{font-style:normal;font-size:11.5px;color:var(--gray);}
.rd-l-hd .wk{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--ink);}
.rd-bar{display:flex;gap:2px;height:6px;margin-top:8px;border-radius:4px;overflow:hidden;}
.rd-bar i{display:block;}
.rd-legend p{margin-top:7px;font-size:11px;line-height:1.5;color:var(--gray);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;}
.rd-legend p span{color:#B3BDCC;}
.rd-note{margin-top:10px;font-size:11.5px;line-height:1.6;color:#93A0B5;}
@media (max-width:1240px){.sc-phil-grid{grid-template-columns:1fr;gap:36px;}.sc-road{max-width:680px;}}
@media (max-width:700px){
  .rd-head{flex-direction:column;}
  .rd-main{grid-template-columns:1fr;justify-items:center;}
  .rd-chart{width:100%;max-width:330px;}
  .rd-side{width:100%;}
  .rd-info{min-height:0;}
  .rd-legend{grid-template-columns:1fr;}
  .rd-card{padding:20px 16px 18px;border-radius:18px;}
}

/* V7_16 — 메인 히어로와 「새로운 아카데미 콘텐츠」 겹침 해제: 히어로 아래 독립 섹션으로 */
.hero.hero-solo{padding:64px 0 76px;}
.hero.hero-ha{padding-bottom:84px;}
.home-academy{margin-top:0;padding:64px 0 24px;background:#fff;}
.ha-head{color:var(--ink);margin-bottom:22px;}
.ha-eyebrow{color:var(--brand);}
.ha-head h2{font-size:26px;letter-spacing:-.6px;}
.ha-head .more{color:var(--brand-d);opacity:1;}
@media (max-width:900px){
  .hero.hero-solo{padding:48px 0 56px;}
  .hero.hero-ha{padding-bottom:56px;}
  .home-academy{margin-top:0;padding:40px 0 16px;}
  .ha-head h2{font-size:21px;}
}

/* ===== V7_19 메인 소개 영역 — 배너(노을·곡선)와 어울리는 밝은 톤 ===== */
.intro-band{position:relative;overflow:hidden;padding:76px 0 72px;background:linear-gradient(180deg,#FBF6EE 0%,#FFFFFF 100%);}
.intro-band::before{content:"";position:absolute;right:-140px;top:-170px;width:520px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(224,118,47,.16),transparent);pointer-events:none;}
.intro-band::after{content:"";position:absolute;left:-160px;bottom:-200px;width:620px;height:380px;border-radius:50%;background:radial-gradient(closest-side,rgba(82,183,136,.14),transparent);pointer-events:none;}
.intro-band .container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center;}
.ib-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--love-d);background:#fff;border:1px solid #F1DCC8;border-radius:999px;padding:7px 15px;box-shadow:0 4px 14px rgba(184,90,30,.08);}
.ib-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--love);}
.intro-band h1{margin-top:20px;font-size:46px;line-height:1.28;font-weight:800;letter-spacing:-1.4px;color:var(--ink);word-break:keep-all;}
.intro-band h1 .serif{font-family:var(--serif);font-weight:400;color:var(--brand-d);}
.ib-lead{margin-top:20px;max-width:56ch;font-size:16.5px;line-height:1.85;color:var(--gray);word-break:keep-all;}
.ib-cta{margin-top:30px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.ib-link{font-size:15px;font-weight:700;color:var(--ink);border-bottom:1.5px solid rgba(22,35,58,.25);padding-bottom:2px;}
.ib-link:hover{color:var(--brand-d);border-color:var(--brand-d);}
.ib-pillars{display:grid;gap:14px;}
.ib-pill{display:grid;grid-template-columns:56px minmax(0,1fr) 28px;align-items:center;gap:18px;padding:20px 22px;background:#fff;border:1px solid #EDE6DA;border-radius:20px;box-shadow:0 10px 28px rgba(22,35,58,.06);transition:transform .2s, box-shadow .2s, border-color .2s;}
.ib-pill:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(22,35,58,.10);}
.ib-pill .ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;}
.ib-pill .ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ib-pill .tx b{display:block;font-size:19px;font-weight:800;letter-spacing:-.4px;color:var(--ink);}
.ib-pill .tx em{display:block;margin-top:3px;font-style:normal;font-size:13.5px;color:var(--gray);}
.ib-pill .tx small{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;}
.ib-pill .go{font-size:18px;color:#B5BFCE;transition:transform .2s,color .2s;}
.ib-pill:hover .go{transform:translateX(4px);}
.p-sun .ic{background:var(--brand-l);color:var(--brand-d);} .p-sun .tx small{background:var(--brand-l);color:var(--brand-d);} .p-sun:hover{border-color:#BFD5F6;} .p-sun:hover .go{color:var(--brand);}
.p-aca .ic{background:var(--love-l);color:var(--love-d);} .p-aca .tx small{background:var(--love-l);color:var(--love-d);} .p-aca:hover{border-color:#F3CDB0;} .p-aca:hover .go{color:var(--love);}
.p-home .ic{background:var(--grow-l);color:var(--grow-d);} .p-home .tx small{background:var(--grow-l);color:var(--grow-d);} .p-home:hover{border-color:#BFE3D0;} .p-home:hover .go{color:var(--grow-d);}
.intro-band + .home-academy{padding-top:40px;}
@media (max-width:1024px){.intro-band .container{grid-template-columns:1fr;gap:36px;}.intro-band h1{font-size:40px;}}
@media (max-width:620px){
  .intro-band{padding:48px 0 44px;}
  .intro-band h1{font-size:30px;letter-spacing:-.8px;}
  .ib-lead{font-size:15px;}
  .ib-pill{grid-template-columns:48px minmax(0,1fr) 20px;gap:14px;padding:16px;}
  .ib-pill .ic{width:48px;height:48px;border-radius:14px;}
  .ib-pill .tx b{font-size:17px;}
}
.intro-band::after{bottom:auto;top:18%;height:340px;}

/* V7_20 — 문구가 들어간 배너 이미지(2192×480): 비율 그대로 표시해 문구가 잘리지 않게 */
.main-banner .mb-track{height:auto;aspect-ratio:2192/480;max-height:none;}
.main-banner img{object-fit:cover;object-position:center;}
@media (max-width:1100px){.main-banner .mb-track{height:auto;}}
@media (max-width:760px){.main-banner .mb-track{height:auto;}.main-banner img{object-position:center;}}
@media (min-width:1921px){.main-banner .mb-track{height:auto;max-height:none;}}
@media (max-width:620px){.site-head .btn{white-space:nowrap;}}
.ha-card .th{aspect-ratio:1472/720;}

/* V7_22 — 부부 관계회복: 글 + 일러스트 2단 */
.fc-grid{display:grid;grid-template-columns:minmax(0,1fr) 544px;gap:56px;align-items:center;}
.fc-grid .fc-intro{max-width:none;}
.fc-art{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(184,90,30,.14);background:#FBF3E8;}
.fc-art img{display:block;width:100%;height:auto;}
@media (max-width:1240px){.fc-grid{grid-template-columns:minmax(0,1fr) 420px;gap:40px;}}
@media (max-width:860px){.fc-grid{grid-template-columns:1fr;}.fc-art{max-width:440px;margin:0 auto;}}
/* V7_23 — 가정신앙 실천 대표 사진 */
.ff-hero.ff-hero-photo{border:0;box-shadow:0 18px 40px rgba(22,35,58,.10);}
.ff-hero.ff-hero-photo img{display:block;aspect-ratio:16/5;object-fit:cover;object-position:55% 42%;}
@media (max-width:860px){.ff-hero.ff-hero-photo img{aspect-ratio:16/8;object-position:60% 45%;}}
@media (max-width:520px){.ff-hero.ff-hero-photo img{aspect-ratio:4/3;object-position:62% 50%;}}
@media (max-width:520px){.ff-hero.ff-hero-photo img{aspect-ratio:16/9;object-position:68% 50%;}}
/* V7_24 — 이번 주 부모에게 도착하는 것: 사진 썸네일 */
.ff-arrive .card .thumb{aspect-ratio:10/7;}
.ff-arrive .card .thumb img{object-position:center 40%;}
/* V7_25 — 자녀교육 카드: 1400px 폭 가로형(이미지 좌 · 내용 우), 이미지 여백 없이 꽉 차게 */
.ff-pick.ff-pick-wide{display:block;max-width:none;}
.ff-pick-wide article{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);min-height:360px;border-radius:24px;box-shadow:0 14px 36px rgba(22,35,58,.08);}
.ff-pick-wide article:hover{transform:none;}
.ff-pick-wide .thumb{aspect-ratio:auto;height:100%;min-height:360px;margin:0;}
.ff-pick-wide .thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.ff-pick-wide .bd{justify-content:center;padding:44px 48px;}
.ff-pick-wide .ff-kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--brand);}
.ff-pick-wide h3{margin-top:10px;font-size:30px;}
.ff-pick-wide p{flex:0;margin-top:14px;font-size:16px;line-height:1.85;}
.ff-pick-wide .acts{margin-top:28px;}
.ff-pick-wide .acts .btn{flex:0 1 auto;min-width:180px;height:50px;}
@media (max-width:900px){
  .ff-pick-wide article{grid-template-columns:1fr;}
  .ff-pick-wide .thumb{min-height:0;aspect-ratio:16/9;}
  .ff-pick-wide .bd{padding:26px 22px 28px;}
  .ff-pick-wide h3{font-size:24px;}
  .ff-pick-wide .acts .btn{flex:1;min-width:0;}
}
.ff-pick-wide .acts .btn{white-space:nowrap;}@media (max-width:420px){.ff-pick-wide .acts{flex-direction:column;}.ff-pick-wide .acts .btn{width:100%;}}
.ff-pick-wide .thumb img{object-position:50% 40%;}
@media (max-width:420px){.ff-pick-wide .acts .btn{height:48px;flex:0 0 auto;}}

/* V7_27 — 나선형 교육과정: 밝은 디자인 */
.bz-spiral.bz-spiral-light{background:linear-gradient(180deg,#FBF6EE 0%,#F4F8FF 100%);color:var(--ink);padding:88px 0;position:relative;overflow:hidden;}
.bz-spiral-light::before{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(224,118,47,.12),transparent);}
.bz-spiral-light .bz-spiral-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;}
.bz-spiral-light .ph{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 24px 54px rgba(22,35,58,.16);}
.bz-spiral-light .ph img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:cover;}
.bz-spiral-light .ph-tag{position:absolute;left:18px;bottom:18px;font-size:11.5px;font-weight:800;letter-spacing:2px;color:var(--brand-d);background:rgba(255,255,255,.92);padding:7px 13px;border-radius:999px;}
.bz-spiral-light .sp-eyebrow{display:inline-block;font-size:13px;font-weight:800;color:var(--love-d);background:#fff;border:1px solid #F1DCC8;padding:6px 14px;border-radius:999px;}
.bz-spiral-light h2{margin-top:16px;font-size:27px;line-height:1.45;font-weight:800;letter-spacing:-.6px;color:var(--ink);word-break:keep-all;}
.bz-spiral-light h2 em{font-style:normal;color:var(--brand-d);}
.bz-spiral-light .motto{margin-top:12px;font-family:var(--serif);font-size:17px;font-style:normal;color:var(--love-d);}
.bz-spiral-light .lead{margin-top:14px;font-size:15.5px;line-height:1.85;color:var(--gray);word-break:keep-all;}
.sp-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;}
.sp-steps li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start;background:#fff;border:1px solid #EDE6DA;border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px rgba(22,35,58,.05);}
.sp-steps i{font-style:normal;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:15px;font-weight:900;color:#fff;}
.sp-steps .s1 i{background:#F2A65A;} .sp-steps .s2 i{background:var(--grow);} .sp-steps .s3 i{background:var(--brand);}
.sp-steps b{display:block;font-size:16px;font-weight:800;color:var(--ink);}
.sp-steps p{margin-top:4px;font-size:14px;line-height:1.75;color:var(--gray);word-break:keep-all;}
@media (max-width:1000px){.bz-spiral-light .bz-spiral-in{grid-template-columns:1fr;gap:32px;}}
@media (max-width:620px){.bz-spiral.bz-spiral-light{padding:56px 0;}.bz-spiral-light h2{font-size:21px;}}
@media (max-width:620px){.bz-spiral-light .tx br{display:none;}}
/* V7_29 — 나선형: 내용 왼쪽(넓게) · 이미지 오른쪽, 높이 맞춤 */
.bz-spiral-light .bz-spiral-in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;gap:48px;}
.bz-spiral-light .tx{order:1;}
.bz-spiral-light .ph{order:2;height:100%;min-height:420px;}
.bz-spiral-light .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 50%;}
@media (max-width:1000px){.bz-spiral-light .ph{order:0;min-height:0;height:auto;aspect-ratio:4/3;}}
.bz-spiral-light .ph img{object-position:76% 50%;}
.bz-spiral-light .bz-spiral-in{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);}.bz-spiral-light .ph img{object-position:92% 50%;}

/* ===== V7_30 사업내용 — 교육 라인업 · 부서별 라인업 (밝고 고급스럽게) ===== */
.bz-lineup.bz-lineup-v2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;margin-top:72px;border-radius:26px;overflow:hidden;background:linear-gradient(120deg,#FBF6EE 0%,#F4F8FF 100%);border:1px solid #EDE6DA;box-shadow:0 18px 44px rgba(22,35,58,.07);min-height:0;}
.bz-lineup-v2 .dk{background:linear-gradient(150deg,#1D56B0 0%,#2A6FDB 70%,#4FA8F5 140%);color:#fff;padding:56px 52px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;overflow:hidden;}
.bz-lineup-v2 .dk::after{content:"";position:absolute;right:-90px;bottom:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(224,118,47,.45),transparent);}
.bz-lineup-v2 .lu-en{font-size:12px;font-weight:800;letter-spacing:2.5px;color:rgba(255,255,255,.75);}
.bz-lineup-v2 .dk h2{margin-top:10px;font-size:40px;font-weight:800;letter-spacing:-1.2px;color:#fff;}
.lu-dots{display:flex;gap:8px;margin-top:22px;position:relative;z-index:1;}
.lu-dots i{width:10px;height:10px;border-radius:50%;background:#F2A65A;}
.lu-dots i:nth-child(2){background:#7FD1AE;} .lu-dots i:nth-child(3){background:#fff;}
.bz-lineup-v2 .lt{background:transparent;padding:56px 56px;display:flex;flex-direction:column;justify-content:center;text-align:left;}
.bz-lineup-v2 .lt h3{font-size:25px;line-height:1.5;font-weight:800;letter-spacing:-.6px;color:var(--ink);}
.bz-lineup-v2 .lt p{margin-top:14px;font-size:15.5px;line-height:1.9;color:var(--gray);word-break:keep-all;max-width:58ch;}
.lu-head{margin-top:80px;text-align:center;}
.lu-head .lu-en{font-size:12px;font-weight:800;letter-spacing:2.5px;color:var(--brand);}
.lu-head h2{margin-top:8px;font-size:32px;font-weight:800;letter-spacing:-.9px;color:var(--ink);}
.bz-dept.bz-dept-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px;}
.bz-dept-v2 article{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #EDE6DA;border-radius:22px;padding:30px 28px 26px;box-shadow:0 10px 28px rgba(22,35,58,.06);transition:transform .2s,box-shadow .2s;}
.bz-dept-v2 article:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,35,58,.10);}
.bz-dept-v2 .no{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:17px;font-weight:900;color:#fff;letter-spacing:0;line-height:1;}
.bz-dept-v2 .c-home .no{background:#F2A65A;} .bz-dept-v2 .c-sun .no{background:var(--brand);} .bz-dept-v2 .c-adult .no{background:var(--grow);}
.bz-dept-v2 h3{margin-top:18px;font-size:19px;font-weight:800;letter-spacing:-.5px;color:var(--ink);line-height:1.45;padding-bottom:16px;border-bottom:1px solid #EFE9DD;}
.bz-dept-v2 h3::after{display:none;}
.bz-dept-v2 .quote{margin-top:16px;font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--love-d);word-break:keep-all;}
.bz-dept-v2 .c-sun .quote{color:var(--brand-d);} .bz-dept-v2 .c-adult .quote{color:var(--grow-d);}
.bz-dept-v2 ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px;flex:1;}
.bz-dept-v2 li{position:relative;padding-left:16px;font-size:14px;line-height:1.8;color:var(--gray);word-break:keep-all;}
.bz-dept-v2 li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:#D6CDBE;}
.bz-dept-v2 li b{color:var(--ink);}
.bz-dept-v2 .more{align-self:flex-start;margin-top:22px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:10px 18px;border-radius:999px;border:1px solid #E3DCCD;color:var(--ink);background:#FBF8F2;transition:.2s;}
.bz-dept-v2 .more:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
@media (max-width:1100px){.bz-dept.bz-dept-v2{grid-template-columns:1fr;}.bz-lineup.bz-lineup-v2{grid-template-columns:1fr;}}
@media (max-width:620px){.bz-lineup-v2 .dk,.bz-lineup-v2 .lt{padding:32px 24px;}.bz-lineup-v2 .dk h2{font-size:30px;}.lu-head h2{font-size:24px;}}
.bz-dept-v2 ul{flex:1;align-content:start;}

/* ===== V7_31 사업내용 — 5대 핵심 (밝고 고급스럽게, 라인업 카드와 통일) ===== */
.bz-core-sec{background:linear-gradient(180deg,#FFFFFF 0%,#FBF6EE 100%);}
.lu-sub{margin-top:10px;font-size:15.5px;color:var(--gray);}
.bz-core-grid.bz-core-v2{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px;}
.bz-core-v2 article{position:relative;background:#fff;border:1px solid #EDE6DA;border-radius:22px;padding:30px 28px 28px;box-shadow:0 10px 28px rgba(22,35,58,.06);transition:transform .2s,box-shadow .2s;}
.bz-core-v2 article:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,35,58,.10);}
.bz-core-v2 .no{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:17px;font-weight:900;color:#fff;letter-spacing:0;line-height:1;}
.bz-core-v2 .k1 .no{background:var(--brand);} .bz-core-v2 .k2 .no{background:#F2A65A;} .bz-core-v2 .k3 .no{background:var(--grow);}
.bz-core-v2 .k4 .no{background:#7B8FD6;} .bz-core-v2 .k5 .no{background:var(--love);}
.bz-core-v2 h3{margin-top:18px;font-size:18.5px;font-weight:800;letter-spacing:-.5px;line-height:1.5;color:var(--ink);padding-bottom:16px;border-bottom:1px solid #EFE9DD;word-break:keep-all;}
.bz-core-v2 h3::after{display:none;}
.bz-core-v2 p{margin-top:16px;font-size:14.5px;line-height:1.85;color:var(--gray);word-break:keep-all;}
.bz-core-v2 article p+p{margin-top:8px;}
.bz-core-v2 .bz-chips span{background:#F4F1EA;color:var(--ink);font-weight:700;}
.bz-core-v2 article.wide{grid-column:span 2;background:linear-gradient(120deg,#FFF9F2 0%,#FFFFFF 70%);}
.bz-core-v2 article.wide ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.bz-core-v2 article.wide li{margin:0;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #F1DCC8;}
.bz-core-v2 article.wide li b{color:var(--love-d);}
@media (max-width:1100px){.bz-core-grid.bz-core-v2{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.bz-core-grid.bz-core-v2{grid-template-columns:1fr;}.bz-core-v2 article.wide{grid-column:auto;}.bz-core-v2 article.wide ul{grid-template-columns:1fr;}}

/* ===== V7_32 소개 › 하나어이란? — 사업내용과 같은 밝은 톤 ===== */
.ab-intro{background:linear-gradient(180deg,#FBF6EE 0%,#F4F8FF 100%);position:relative;overflow:hidden;}
.ab-intro::before{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(224,118,47,.12),transparent);}
.ab-intro .container{position:relative;}
.ab-intro .sp-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2px;color:var(--love-d);background:#fff;border:1px solid #F1DCC8;padding:6px 14px;border-radius:999px;margin-bottom:12px;}
.ab-intro .sec-head h2{font-size:32px;letter-spacing:-.9px;color:var(--ink);}
.ab-intro .sec-head p{font-family:var(--serif);font-size:17px;color:var(--love-d);}
.ab-intro .split{align-items:stretch;gap:48px;}
.ab-intro .prose p{font-size:15.5px;line-height:1.9;color:var(--gray);word-break:keep-all;}
.ab-intro .prose p b{color:var(--ink);}
.ab-stats{gap:14px;}
.ab-stats>div{background:#fff;border:1px solid #EDE6DA;border-radius:18px;padding:20px 22px;box-shadow:0 8px 22px rgba(22,35,58,.06);}
.ab-stats b{font-size:30px;font-weight:900;letter-spacing:-.8px;}
.ab-stats .s1 b{color:var(--love);} .ab-stats .s2 b{color:var(--brand);} .ab-stats .s3 b{color:var(--grow-d);}
.ab-stats span{color:var(--gray);}
.ab-intro .fig-box{height:100%;margin:0;display:flex;flex-direction:column;background:#fff;border:1px solid #EDE6DA;border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(22,35,58,.10);}
.ab-intro .fig-box img{flex:1;width:100%;object-fit:cover;min-height:0;}
.ab-intro .fig-box figcaption{padding:16px 20px;font-family:var(--serif);font-size:15px;color:var(--love-d);background:#FFFBF5;border-top:1px solid #F1E7D8;}
.ab-intro .sec-head p{max-width:none;}.ab-intro .sec-head>div{max-width:none;}
.ab-intro .fig-box img{object-position:center 55%;}
.ab-do .fig-box{border:0;border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(22,35,58,.12);}.ab-do .fig-box img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;}.ab-do .card .thumb{aspect-ratio:3/2;}.ab-do .card .thumb img{object-fit:cover;}
/* V7_35 — 하나어이의 비전: 이미지 높이 = 본문 높이 */
.ab-vision .split{align-items:stretch;gap:48px;}
.ab-vision aside{display:flex;}
.ab-vision .fig-box{flex:1;display:flex;flex-direction:column;margin:0;border:0;border-radius:24px;box-shadow:0 18px 44px rgba(22,35,58,.12);}
.ab-vision .fig-box img{flex:1;min-height:0;height:100%;aspect-ratio:auto;object-fit:cover;}
.ab-vision .fig-box figcaption{font-family:var(--serif);font-size:15px;color:var(--love-d);background:#FFFBF5;border-top:1px solid #F1E7D8;padding:16px 20px;}
@media (max-width:900px){.ab-vision .fig-box img{aspect-ratio:3/2;height:auto;}}
.ab-vision .fig-box img{object-position:center 40%;}
/* V7_39 — 가정 신앙회복 실천: 이미지 400×280 고정 */
.aq-family{grid-template-columns:400px minmax(0,1fr);gap:56px;}
.aq-family .ph{width:400px;height:280px;border-radius:18px;}
.aq-family .ph img{width:400px;height:280px;aspect-ratio:auto;object-fit:cover;}
@media (max-width:900px){.aq-family{grid-template-columns:1fr;}.aq-family .ph{width:100%;max-width:400px;height:auto;}.aq-family .ph img{width:100%;height:auto;aspect-ratio:400/280;}}
.ac-note p+p{margin-top:18px;}@media (max-width:760px){.ac-note .pc-br{display:none;}}
.ab-intro .prose .ab-lead{font-family:var(--sans);font-size:26px;font-weight:800;letter-spacing:-.8px;line-height:1.45;color:var(--love-d);margin-bottom:8px;}

/* ===== V7_45 부서 페이지 — 청지기 크리에이터십 3개년 로드맵 ===== */
.r3{background:linear-gradient(180deg,#FBF6EE 0%,#F4F8FF 100%);}
.r3-head{text-align:center;max-width:860px;margin:0 auto;}
.r3-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--love-d);background:#fff;border:1px solid #F1DCC8;padding:6px 14px;border-radius:999px;}
.r3-head h2{margin-top:14px;font-size:32px;line-height:1.35;letter-spacing:-.9px;color:var(--ink);}
.r3-head blockquote{margin:22px 0 0;padding:20px 26px;border-radius:18px;background:#fff;border:1px solid #EDE6DA;font-family:var(--serif);font-size:18px;line-height:1.75;color:var(--ink);box-shadow:0 8px 22px rgba(22,35,58,.05);word-break:keep-all;}
.r3-head blockquote b{font-family:inherit;color:var(--love-d);font-weight:700;}
.r3-head>p{margin-top:16px;font-size:15.5px;line-height:1.85;color:var(--gray);word-break:keep-all;}
.r3-years{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px;}
.r3-year{position:relative;background:#fff;border:1px solid #EDE6DA;border-radius:22px;padding:26px 26px 24px;box-shadow:0 10px 28px rgba(22,35,58,.06);overflow:hidden;}
.r3-year::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;}
.r3-year.y1::before{background:#F2A65A;} .r3-year.y2::before{background:var(--grow);} .r3-year.y3::before{background:var(--brand);}
.r3-year-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.r3-yn{font-size:12px;font-weight:800;color:#fff;padding:4px 10px;border-radius:999px;}
.y1 .r3-yn{background:#F2A65A;} .y2 .r3-yn{background:var(--grow);} .y3 .r3-yn{background:var(--brand);}
.r3-year-hd b{font-size:20px;font-weight:900;color:var(--ink);}
.r3-en{margin-left:auto;font-size:11.5px;font-weight:700;color:#93A0B5;}
.r3-year h3{margin-top:12px;font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.4px;padding-bottom:14px;border-bottom:1px solid #EFE9DD;}
.r3-year dl{margin:14px 0 0;}
.r3-year dt{font-size:12.5px;font-weight:800;color:var(--love-d);margin-top:12px;}
.r3-year.y2 dt{color:var(--grow-d);} .r3-year.y3 dt{color:var(--brand-d);}
.r3-year dd{margin:4px 0 0;font-size:14px;line-height:1.75;color:var(--gray);word-break:keep-all;}
.r3-summary{margin-top:20px;display:flex;gap:18px;align-items:center;background:var(--ink);color:#fff;border-radius:18px;padding:18px 24px;}
.r3-sum-t{flex:none;font-size:13px;font-weight:800;letter-spacing:1px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);}
.r3-summary ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;flex:1;}
.r3-summary li{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.82);word-break:keep-all;}
.r3-summary li b{display:block;font-size:13px;margin-bottom:2px;}
.r3-summary .y1 b{color:#F7C48E;} .r3-summary .y2 b{color:#9FE0C1;} .r3-summary .y3 b{color:#A9C8FF;}
.r3-cur-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-top:56px;}
.r3-cur-hd h3{font-size:26px;letter-spacing:-.7px;color:var(--ink);}
.r3-cur-hd p{margin-top:6px;font-size:14.5px;color:var(--gray);}
.r3-filter{display:flex;gap:6px;flex-wrap:wrap;}
.r3-filter button{border:1px solid #E3DCCD;background:#fff;color:var(--ink);font-size:13.5px;font-weight:700;padding:9px 16px;border-radius:999px;cursor:pointer;transition:.2s;}
.r3-filter button:hover{border-color:var(--ink);}
.r3-filter button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.r3-seasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;}
.r3-season{background:#fff;border:1px solid #EDE6DA;border-radius:20px;padding:22px 24px;box-shadow:0 8px 22px rgba(22,35,58,.05);}
.r3-s-hd{display:flex;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #EFE9DD;}
.r3-sno{flex:none;font-size:12.5px;font-weight:900;color:#fff;background:var(--ink);padding:7px 11px;border-radius:12px;}
.r3-s-hd h4{font-size:17.5px;font-weight:800;color:var(--ink);letter-spacing:-.4px;}
.r3-s-hd p{margin-top:4px;font-size:13px;color:var(--gray);}
.r3-s-hd p em{font-style:normal;color:#93A0B5;}
.r3-wk{display:inline-block;margin-right:6px;font-size:11.5px;font-weight:800;color:var(--love-d);background:var(--love-l);padding:2px 8px;border-radius:999px;}
.r3-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding-top:12px;}
.r3-row[hidden]{display:none;}
.r3-tag{align-self:start;font-size:12px;font-weight:800;padding:5px 9px;border-radius:9px;text-align:center;}
.r3-row.y1 .r3-tag{background:#FDEFE1;color:#B05E14;} .r3-row.y2 .r3-tag{background:var(--grow-l);color:var(--grow-d);} .r3-row.y3 .r3-tag{background:var(--brand-l);color:var(--brand-d);}
.r3-row ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:w;}
.r3-row li{counter-increment:w;font-size:13px;line-height:1.5;color:var(--ink);background:#F7F5F0;border-radius:9px;padding:5px 10px;word-break:keep-all;}
.r3-row li::before{content:counter(w)"주 ";font-size:11px;font-weight:800;color:#93A0B5;}
@media (max-width:1100px){.r3-years{grid-template-columns:1fr;}.r3-seasons{grid-template-columns:1fr;}.r3-summary{flex-direction:column;align-items:flex-start;}.r3-summary ul{grid-template-columns:1fr;}}
@media (max-width:620px){.r3-head h2{font-size:24px;}.r3-head h2 br{display:none;}.r3-head blockquote{font-size:16px;padding:16px;}.r3-row{grid-template-columns:1fr;}.r3-tag{justify-self:start;}}
.dp-ops dd{word-break:keep-all;}
.page-hero p{word-break:keep-all;}

/* ===== V7_50 기술과 신앙 — 이미지 없는 주제 카드 ===== */
.tf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:38px;}
.tf-card{--c:var(--brand);--cl:var(--brand-l);position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #EDE6DA;border-radius:22px;padding:30px 32px 26px;box-shadow:0 10px 28px rgba(22,35,58,.05);transition:transform .2s,box-shadow .2s,border-color .2s;}
.tf-card.c2{--c:var(--love);--cl:var(--love-l);} .tf-card.c3{--c:var(--grow);--cl:var(--grow-l);} .tf-card.c4{--c:#7A5AC8;--cl:#EFEAFB;}
.tf-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c);opacity:.9;}
.tf-card:hover{transform:translateY(-3px);border-color:var(--c);box-shadow:0 18px 40px rgba(22,35,58,.10);}
.tf-top{display:flex;align-items:center;gap:14px;}
.tf-no{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:18px;font-weight:900;letter-spacing:-.5px;}
.tf-cat{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--c);background:var(--cl);padding:6px 12px;border-radius:999px;}
.tf-cat em{font-style:normal;font-weight:700;font-size:11px;letter-spacing:.8px;text-transform:uppercase;opacity:.75;}
.tf-card h3{position:relative;margin-top:20px;font-size:23px;font-weight:800;letter-spacing:-.7px;line-height:1.35;color:var(--ink);}
.tf-card ul{position:relative;list-style:none;margin:18px 0 0;padding:18px 0 0;border-top:1px solid #EFE9DD;display:grid;gap:10px;flex:1;align-content:start;}
.tf-card li{position:relative;padding-left:30px;font-size:14.5px;line-height:1.65;color:var(--gray);word-break:keep-all;}
.tf-card li::before{content:"Q";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:6px;background:var(--cl);color:var(--c);font-size:11px;font-weight:900;display:grid;place-items:center;}
.tf-more{position:relative;align-self:flex-start;margin-top:22px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--ink);padding:10px 18px;border-radius:999px;border:1px solid #E3DCCD;transition:.2s;}
.tf-more i{font-style:normal;transition:transform .2s;}
.tf-card:hover .tf-more{background:var(--c);border-color:var(--c);color:#fff;}
.tf-card:hover .tf-more i{transform:translateX(3px);}
.tf-bg{position:absolute;right:18px;bottom:-26px;font-family:var(--serif);font-size:150px;font-weight:700;line-height:1;color:var(--c);opacity:.06;pointer-events:none;}
@media (max-width:760px){.tf-grid{grid-template-columns:1fr;gap:16px;}.tf-card{padding:24px 22px 22px;}.tf-card h3{font-size:20px;}.tf-bg{font-size:110px;}}

/* ===== V7_52 소개 — 세 공간 카드 (라인아트) ===== */
.sp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px;}
.sp-card{--c:var(--brand);--cl:var(--brand-l);display:flex;flex-direction:column;background:#fff;border:1px solid #EDE6DA;border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(22,35,58,.05);transition:transform .2s,box-shadow .2s,border-color .2s;}
.sp-card.s2{--c:var(--love);--cl:var(--love-l);} .sp-card.s3{--c:var(--grow);--cl:var(--grow-l);}
.sp-card:hover{transform:translateY(-3px);border-color:var(--c);box-shadow:0 18px 40px rgba(22,35,58,.10);}
.sp-art{position:relative;height:190px;display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,#fff 0 30%,transparent 31%),linear-gradient(160deg,var(--cl),#FBF8F2);color:var(--c);overflow:hidden;border-bottom:1px solid #F1EBE0;}
.sp-art svg{position:relative;width:104px;height:104px;transition:transform .3s;}
.sp-card:hover .sp-art svg{transform:translateY(-4px);}
.sp-ring{position:absolute;left:50%;top:55%;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;border:1px dashed var(--c);opacity:.25;}
.sp-ring::after{content:"";position:absolute;inset:34px;border-radius:50%;border:1px solid var(--c);opacity:.5;}
.sp-no{position:absolute;left:22px;top:18px;font-family:var(--serif);font-size:15px;font-weight:700;color:var(--c);letter-spacing:1px;}
.sp-bd{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1;}
.sp-tag{align-self:flex-start;display:inline-flex;gap:7px;align-items:center;font-size:12.5px;font-weight:800;color:var(--c);background:var(--cl);padding:5px 12px;border-radius:999px;}
.sp-tag em{font-style:normal;font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;opacity:.75;}
.sp-bd h3{margin-top:14px;font-size:21px;font-weight:800;letter-spacing:-.6px;color:var(--ink);}
.sp-bd p{margin-top:10px;font-size:14.5px;line-height:1.75;color:var(--gray);word-break:keep-all;flex:1;}
.sp-meta{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid #EFE9DD;display:flex;gap:8px;flex-wrap:wrap;}
.sp-meta li{font-size:12.5px;color:var(--gray);background:#F7F5F0;border-radius:10px;padding:6px 11px;}
.sp-meta b{color:var(--ink);font-weight:800;margin-right:4px;}
.sp-more{margin-top:18px;align-self:flex-start;display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:800;color:var(--ink);padding:10px 18px;border:1px solid #E3DCCD;border-radius:999px;transition:.2s;}
.sp-more i{font-style:normal;transition:transform .2s;}
.sp-card:hover .sp-more{background:var(--c);border-color:var(--c);color:#fff;}
.sp-card:hover .sp-more i{transform:translateX(3px);}
@media (max-width:1000px){.sp-grid{grid-template-columns:1fr;gap:16px;}.sp-card{flex-direction:row;}.sp-art{flex:none;width:200px;height:auto;border-bottom:0;border-right:1px solid #F1EBE0;}}
@media (max-width:600px){.sp-card{flex-direction:column;}.sp-art{width:auto;height:160px;border-right:0;border-bottom:1px solid #F1EBE0;}.sp-art svg{width:88px;height:88px;}}

/* ===== V7_56 메인 배너 — 배경 동영상 + 문구 애니메이션 ===== */
.main-banner.hero-v{position:relative;height:clamp(600px,48vw,720px);background:#14284A;overflow:hidden;isolation:isolate;}
.hero-v .hv-stage{position:absolute;inset:0;}
.hero-v .hv-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s linear 1s;}
.hero-v .hv-slide.on{opacity:1;visibility:visible;transition:opacity 1s ease;z-index:1;}
.hero-v .hv-media{position:absolute;inset:0;overflow:hidden;background:linear-gradient(115deg,#1B2F57 0%,#3A4A73 38%,#B07A5A 72%,#F2C27E 100%);}
.hero-v .hv-slide:nth-child(2) .hv-media{background:linear-gradient(115deg,#1D3550 0%,#355B66 40%,#C68E5C 75%,#F6D293 100%);}
.hero-v .hv-slide:nth-child(3) .hv-media{background:linear-gradient(115deg,#22284F 0%,#4A3F6B 40%,#B9735A 74%,#F0B67A 100%);}
.hero-v .hv-slide:nth-child(4) .hv-media{background:linear-gradient(115deg,#2A2448 0%,#5A3C62 42%,#C47D6E 76%,#F4C29A 100%);}
.hero-v .hv-slide:nth-child(5) .hv-media{background:linear-gradient(115deg,#13304A 0%,#245A6E 40%,#5E9A86 72%,#E8D59A 100%);}
.hero-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 9s linear;}
.hero-v .hv-slide.on video{transform:scale(1);}
.hero-v .hv-media.no-video video{display:none;}
.hero-v .hv-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,52,.82) 0%,rgba(14,26,52,.58) 38%,rgba(14,26,52,.12) 72%,rgba(14,26,52,0) 100%),linear-gradient(0deg,rgba(14,26,52,.35),transparent 40%);}
.hero-v .hv-copy{position:absolute;inset:0;display:flex;align-items:center;padding-bottom:150px;color:#fff;}
.hero-v .hv-copy .container{width:100%;}
/* 등장 애니메이션 — 슬라이드가 켜질 때마다 처음부터 재생 */
.hero-v .hv-eyebrow,.hero-v .hv-eng,.hero-v .hv-dl,.hero-v .hv-btns{opacity:0;transform:translateY(18px);}
.hero-v .hv-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em;}
.hero-v .hv-w>span{display:inline-block;transform:translateY(105%);}
.hero-v .hv-slide.on .hv-eyebrow,.hero-v .hv-slide.on .hv-dl,.hero-v .hv-slide.on .hv-btns{animation:hvUp .8s cubic-bezier(.2,.7,.2,1) var(--d) forwards;}
.hero-v .hv-slide.on .hv-eng{animation:hvEng 1.1s cubic-bezier(.2,.7,.2,1) var(--d) forwards;}
.hero-v .hv-slide.on .hv-w>span{animation:hvWord .85s cubic-bezier(.2,.75,.15,1) var(--d) forwards;}
@keyframes hvUp{to{opacity:1;transform:none;}}
@keyframes hvWord{to{transform:none;}}
@keyframes hvEng{0%{opacity:0;transform:translateY(14px);clip-path:inset(0 100% 0 0);}30%{opacity:1;}100%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}}
.hero-v .hv-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);}
.hero-v .hv-eng{margin:22px 0 0;font-family:'Dancing Script',cursive;font-weight:700;font-size:clamp(34px,3.6vw,54px);line-height:1.1;color:#F6D9A8;text-shadow:0 2px 18px rgba(0,0,0,.25);}
.hero-v .hv-title{margin-top:14px;font-size:clamp(30px,3.1vw,46px);font-weight:900;letter-spacing:-1.4px;line-height:1.28;word-break:keep-all;text-shadow:0 2px 20px rgba(0,0,0,.2);}
.hero-v .hv-line{display:block;}
.hero-v .hv-desc{margin-top:20px;max-width:680px;}
.hero-v .hv-dl{display:block;font-size:16.5px;line-height:1.8;color:rgba(255,255,255,.88);word-break:keep-all;}
.hero-v .hv-btns{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;}
.hero-v .hv-btn{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 28px;border-radius:999px;font-size:15.5px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s;}
.hero-v .hv-btn-w{background:#fff;color:#17366B;}
.hero-v .hv-btn-o{background:var(--love);color:#fff;box-shadow:0 10px 24px rgba(224,118,47,.35);}
.hero-v .hv-btn:hover{transform:translateY(-2px);}
.hero-v .hv-btn-o:hover{background:var(--love-d);}
.hero-v .hv-btn i{font-style:normal;transition:transform .2s;}
.hero-v .hv-btn-o:hover i{transform:translateX(3px);}
.hero-v .hv-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;z-index:3;pointer-events:none;}
.hero-v .hv-ctrl{position:absolute;left:0;right:0;bottom:86px;z-index:4;}
.hero-v .hv-ctrl .container{display:flex;align-items:center;gap:14px;}
.hero-v .hv-count{font-size:13px;font-weight:700;color:rgba(255,255,255,.65);letter-spacing:1px;min-width:62px;}
.hero-v .hv-count b{color:#fff;font-size:15px;}
.hero-v .hv-dots{display:flex;gap:8px;}
.hero-v .hv-dots button{position:relative;width:34px;height:4px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.3);cursor:pointer;overflow:hidden;}
.hero-v .hv-dots button i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:#fff;}
.hero-v .hv-dots button.on{width:64px;}
.hero-v .hv-dots button.on i{transform:scaleX(1);}
.hero-v.playing .hv-dots button.on i{transform:scaleX(0);animation:hvBar var(--hv-dur,8000ms) linear forwards;}
@keyframes hvBar{to{transform:scaleX(1);}}
.hero-v .hv-arrow,.hero-v .hv-pause{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s;}
.hero-v .hv-prev{margin-left:8px;}
.hero-v .hv-arrow:hover,.hero-v .hv-pause:hover{background:rgba(255,255,255,.22);}
.hero-v .hv-pause::before{content:"";width:9px;height:11px;border-left:3px solid #fff;border-right:3px solid #fff;box-sizing:border-box;}
.hero-v .hv-pause.is-paused::before{width:0;height:0;border:0;border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px;}
@media (max-width:760px){
  .main-banner.hero-v{height:600px;}
  .hero-v .hv-media::after{background:linear-gradient(180deg,rgba(14,26,52,.45) 0%,rgba(14,26,52,.78) 55%,rgba(14,26,52,.88) 100%);}
  .hero-v .hv-copy{align-items:flex-end;padding-bottom:150px;}
  .hero-v .hv-eyebrow{font-size:10.5px;letter-spacing:1.4px;padding:6px 12px;}
  .hero-v .hv-eng{font-size:30px;margin-top:16px;}
  .hero-v .hv-title{font-size:25px;letter-spacing:-.8px;}
  .hero-v .hv-dl{font-size:14px;line-height:1.7;display:inline;}
  .hero-v .hv-dl::after{content:" ";}
  .hero-v .hv-desc{margin-top:14px;}
  .hero-v .hv-btns{margin-top:20px;}
  .hero-v .hv-btn{height:46px;padding:0 20px;font-size:14px;}
  .hero-v .hv-ctrl{bottom:70px;}
  .hero-v .hv-arrow{display:none;}
  .hero-v .hv-dots button{width:22px;} .hero-v .hv-dots button.on{width:44px;}
  .hero-v .hv-wave{height:46px;}
}
@media (prefers-reduced-motion:reduce){
  .hero-v .hv-eyebrow,.hero-v .hv-eng,.hero-v .hv-dl,.hero-v .hv-btns,.hero-v .hv-w>span{opacity:1!important;transform:none!important;animation:none!important;clip-path:none!important;}
  .hero-v video{transition:none;transform:none;}
}
/* V7_58 부서 페이지 하단 — 이번 주 공과 */
.wk-prev{border-top:1px solid #EFE9DD;}
.wk-prev .wk-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--love-d);background:#fff;border:1px solid #F1DCC8;padding:6px 14px;border-radius:999px;margin-bottom:12px;}
.wk-prev .pd-wrap{margin:0 auto;}
.pg-pray .mission{display:table;margin:18px auto 0;}
/* V7_59 감사 기도 & 미션 — 간격·글자 크기·줄바꿈 */
.pg-sec{margin-bottom:48px;}
.pg-sec>h3{margin-bottom:16px;}
.pg-sec>h3+.desc{margin-top:-8px;}
.pg-pray{font-size:16.5px;line-height:1.85;color:#4A5568;padding:34px 30px;}
.pg-pray .pr-l{display:block;word-break:keep-all;}
.pg-pray .pr-l+.pr-l{margin-top:14px;}
.pg-pray .mission{margin:26px auto 0;font-size:15px;padding:14px 22px;}
@media (max-width:760px){.pg-pray{font-size:15.5px;padding:26px 20px;}.pg-pray .mission{font-size:14px;}}
.dp-goals span{word-break:keep-all;}
/* V7_62 메인 배너 — 슬라이드별 상징 일러스트 */
.hero-v .hv-art{position:absolute;right:0;bottom:0;width:min(58%,980px);height:100%;pointer-events:none;opacity:0;transition:opacity 1.2s ease;}
.hero-v .hv-slide.on .hv-art{opacity:1;}
.hero-v .hv-art svg{position:absolute;right:0;bottom:0;width:100%;height:100%;}
.hero-v .hv-art *{transform-box:fill-box;transform-origin:center;}
.hero-v .hv-art .fg{opacity:0;transform:translateY(40px);}
.hero-v .hv-slide.on .hv-art .fg{animation:artUp 1.1s cubic-bezier(.2,.7,.2,1) var(--d) forwards;}
.hero-v .hv-art .fl{animation:artFloat var(--f,4s) ease-in-out infinite;}
.hero-v .hv-art .sun{animation:artSun 6s ease-in-out infinite;}
.hero-v .hv-art .stars circle{animation:artTwinkle var(--t) ease-in-out var(--o) infinite;}
.hero-v .hv-art .hill{transform-origin:bottom;}
/* 새싹 */
.hero-v .hv-art .stem{stroke-dasharray:110;stroke-dashoffset:110;}
.hero-v .hv-art .leaf{transform:scale(0);transform-origin:bottom center;}
.hero-v .hv-slide.on .hv-art .stem{animation:artDraw 1.4s ease 1.2s forwards;}
.hero-v .hv-slide.on .hv-art .l1{animation:artLeaf .9s cubic-bezier(.3,1.5,.5,1) 2.2s forwards,artSway 4s ease-in-out 3.2s infinite;}
.hero-v .hv-slide.on .hv-art .l2{animation:artLeaf .9s cubic-bezier(.3,1.5,.5,1) 2.5s forwards,artSway 4.4s ease-in-out 3.5s infinite;}
/* 집 */
.hero-v .hv-art .win{animation:artGlow 3s ease-in-out infinite;}
.hero-v .hv-art .heart{opacity:0;}
.hero-v .hv-slide.on .hv-art .heart{animation:artHeart 4.5s ease-in-out 1.6s infinite;}
/* 말씀 전수 */
.hero-v .hv-art .book{animation:artGlowBook 3.4s ease-in-out infinite;}
.hero-v .hv-art .pt{opacity:0;}
.hero-v .hv-slide.on .hv-art .pt{animation:artRise 4.5s ease-out calc(1.4s + var(--d)) infinite;}
/* 반지 */
.hero-v .hv-art .rings{opacity:0;transform:scale(.6);}
.hero-v .hv-slide.on .hv-art .rings{animation:artRing 1.2s cubic-bezier(.3,1.4,.5,1) 1.2s forwards,artRingFloat 5s ease-in-out 2.4s infinite;}
.hero-v .hv-art .cross{animation:artCross 6s ease-in-out infinite;}
/* 지구 */
.hero-v .hv-art .mer{animation:artSpin 9s linear infinite;}
.hero-v .hv-art .m2{animation-delay:-3s;} .hero-v .hv-art .m3{animation-delay:-6s;}
@keyframes artUp{to{opacity:1;transform:none;}}
@keyframes artFloat{50%{transform:translateY(-6px);}}
@keyframes artSun{50%{transform:scale(1.06);opacity:.85;}}
@keyframes artTwinkle{0%,100%{opacity:.25;}50%{opacity:1;}}
@keyframes artDraw{to{stroke-dashoffset:0;}}
@keyframes artLeaf{to{transform:scale(1);}}
@keyframes artSway{0%,100%{transform:rotate(0);}50%{transform:rotate(-6deg);}}
@keyframes artGlow{0%,100%{fill:#F6C67A;filter:drop-shadow(0 0 6px rgba(246,198,122,.5));}50%{fill:#FFE2A6;filter:drop-shadow(0 0 18px rgba(255,220,150,.9));}}
@keyframes artHeart{0%{opacity:0;transform:translateY(20px) scale(.7);}25%{opacity:1;}70%{opacity:.9;}100%{opacity:0;transform:translateY(-30px) scale(1);}}
@keyframes artGlowBook{0%,100%{filter:drop-shadow(0 0 8px rgba(255,236,190,.6));}50%{filter:drop-shadow(0 0 26px rgba(255,236,190,1));}}
@keyframes artRise{0%{opacity:0;transform:translateY(40px);}20%{opacity:1;}100%{opacity:0;transform:translateY(-170px);}}
@keyframes artRing{to{opacity:1;transform:none;}}
@keyframes artRingFloat{50%{transform:translateY(-8px) rotate(-4deg);}}
@keyframes artCross{50%{opacity:.85;}}
@keyframes artSpin{0%{transform:scaleX(1);}50%{transform:scaleX(-1);}100%{transform:scaleX(1);}}
@media (max-width:1100px){.hero-v .hv-art{width:70%;opacity:0;} .hero-v .hv-slide.on .hv-art{opacity:.45;}}
@media (max-width:760px){.hero-v .hv-art{display:none;}}
@media (prefers-reduced-motion:reduce){.hero-v .hv-art *{animation:none!important;} .hero-v .hv-art .fg,.hero-v .hv-art .rings,.hero-v .hv-art .leaf{opacity:1;transform:none;} .hero-v .hv-art .stem{stroke-dashoffset:0;}}
.ac-intro .thumb{position:relative;aspect-ratio:16/10;overflow:hidden;}
.ac-intro .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.post-body .sc-more{margin-top:18px;font-size:13px;color:var(--gray-2);border-top:1px dashed var(--line);padding-top:12px;}
.ac-post[hidden]{display:none!important;}
.mpv .item b{word-break:keep-all;}
/* V7_86 말씀 띠 — 회색톤 패턴 배경 + 로고 짙은 청색 글자 */
.verse-band{background-color:#F1F3F6;background-image:radial-gradient(rgba(23,54,107,.09) 1.2px,transparent 1.3px),linear-gradient(135deg,rgba(255,255,255,.7) 0%,rgba(226,231,238,.6) 100%);background-size:18px 18px,100% 100%;color:#17366B;border-top:1px solid #E3E7ED;border-bottom:1px solid #E3E7ED;}
.verse-band q{color:#17366B;font-weight:700;}
.verse-band cite{color:#5B6E8E;}
.ib-lead{word-break:keep-all;}
@media (min-width:1101px){.intro-band .ib-text{max-width:none;} .intro-band .ib-lead{max-width:600px;font-size:15.5px;}}
/* V7_96 아카데미 목록 — 단 나눔 대신 가로 줄 맞춤 그리드 (중간 빈칸 없이 채움) */
.ac-cards,.ac-cards.c3{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch;}
.ac-cards .ac-post{margin-bottom:0;display:flex;flex-direction:column;}
.ac-cards .ac-post .bd{flex:1;display:flex;flex-direction:column;}
.ac-cards .ac-post .meta{margin-top:auto;}
.ac-cards .ac-post[hidden]{display:none!important;}
@media (max-width:1100px){.ac-cards,.ac-cards.c3{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:860px){.ac-cards,.ac-cards.c3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.ac-cards,.ac-cards.c3{grid-template-columns:1fr;}}
.ac-cards .ac-post .kind{align-self:flex-start;}
/* V7_106 그룹 토론 상세 */
.post-body .gd-ice{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:center;padding:24px 26px;border-radius:16px;background:#F5F8FD;border:1px solid #E1E8F3;}
.post-body .gd-ice h3{margin-top:0;}
.post-body .gd-ice img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin:0;}
.post-body .gd-wrap{padding:22px 24px;border-radius:14px;background:#FFF7EE;border-left:4px solid var(--love);line-height:1.85;font-weight:600;color:var(--ink);word-break:keep-all;}
@media (max-width:640px){.post-body .gd-ice{grid-template-columns:1fr;}}

/* V7_108 서브 페이지 본문 폭 1440px 통일 (반응형은 .container 여백 기준) */
.post-wrap,.post-wrap.pd-wrap,.wd-wrap{max-width:none;width:100%;}
.split.split-solo .prose{max-width:none;}
/* V7_109 다운로드 안내 토스트 */
.pd-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);opacity:0;z-index:9999;padding:14px 22px;border-radius:12px;background:#17366B;color:#fff;font-size:15px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:.25s;max-width:calc(100% - 32px);word-break:keep-all;}
.pd-toast.on{opacity:1;transform:translate(-50%,0);}
