:root{--brand-purple:#693A94;--font-color:#333}

.sec{max-width:1400px; margin: 70px auto; box-sizing:border-box}
.container {width: 100%; margin: 0 auto; padding-left: 15px; padding-right: 15px; }

.sub-content{min-width:0;flex:1; }
.sub-head{border-bottom:1px solid #eee;padding:10px 0 18px; margin-bottom: 40px}
.sub-title{font-size:28px;font-weight:800;color:#333;margin:0}

.sm-head {margin-bottom: 40px;}
.sm-title {position: relative; font-size: 20px; font-weight: 800; color: var(--brand-purple); padding-left: 15px;}
.sm-title::before {content:''; position:absolute; width:5px; height:5px; background:var(--brand-purple); border-radius:50%; left:0; top:50%; transform:translateY(-50%);}

.headline {position:relative;text-align:left;margin:20px 0 40px; line-height:1.6;}
.headline p{position:relative;display:inline-block;margin:0;padding:0 45px; font-size: 24px; font-weight: 700; color: #222;}
.headline p::before,.headline p::after{content:"";position:absolute;width:35px;height:35px;background-repeat:no-repeat;background-size:contain;pointer-events:none;}
.headline p::before{left:0;top:-10px;background-image:url("../../images/thema/sub/quote_start.svg");}
.headline p::after{right:0;bottom:-30px;background-image:url("../../images/thema/sub/quote_end.svg");}

.headline.center{text-align:center;}
.headline.right{text-align:right;}

.mb-7 {margin-bottom:5rem;}

/*sub_visual*/
.sub_visual_wrap {width: 100%; max-width: 1920px; height: 300px; display: flex; justify-content: center; align-items: center; margin: 100px auto 20px; background-size: cover; background-position: center; background-repeat: no-repeat;}
.sub_visual_wrap.sub_top1 {background-image: url("../../images/thema/sub/sub_top/sub_top1.png");}
.sub_visual_wrap.sub_top2 {background-image: url("../../images/thema/sub/sub_top/sub_top2.png");}
.sub_visual_wrap.sub_top3 {background-image: url("../../images/thema/sub/sub_top/sub_top3.png");}
.sub_visual_wrap.sub_top4 {background-image: url("../../images/thema/sub/sub_top/sub_top4.png");}
.sub_visual_wrap.sub_top5 {background-image: url("../../images/thema/sub/sub_top/sub_top5.png");}

.sub_visual_title {text-align: center;}
.sub_visual_title h2 {color: #333; font-size: 46px; font-weight: 800;}

.sub_visual_title .color1 {color: #FF93CE;}
.sub_visual_title .color2 {color: #FFB648;}
.sub_visual_title .color3 {color: #02aeb4;}
.sub_visual_title .color4 {color: #855feb;}
.sub_visual_title .color5 {color: #02aeb4;}

/* 센터 소개 */
.center-intro{position:relative;background:#f3f3f5;border-radius:16px;padding:50px 24px 24px;text-align:center;min-height:150px}
.center-badge{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.06)}
.center-badge img,.center-badge svg{width:34px;height:34px}
.center-title{margin-top:10px;font-weight:700;color:var(--brand-purple);font-size:20px;line-height:28px}
.text-body{letter-spacing:-.32px}
.text-body p{margin-bottom:15px;color:var(--font-color);letter-spacing:-.32px; text-align: justify;}
.highlight{color:var(--brand-purple);font-weight:700}

/* 인사말*/
.greet-titles{text-align:left; position: relative;}
.greet-titles.pl-md-4 {padding-left: 0 !important;}

.greet-titles::before {content: url("../../images/thema/sub/quote_start.svg"); display: block; height: 28px;}
.greet-titles::after {content: url("../../images/thema/sub/quote_end.svg"); display: block; height: 28px;}

.greet-illust{max-width:320px;height:auto}
.greet-title{font-size:20px;font-weight:500;color:var(--font-color);margin-bottom:0}

.greet-title .brand{color:var(--brand-purple);font-weight:700}
.greet-quote img{display:block;height:28px}

.greet-img  {height: 350px; overflow: hidden; border-radius: 20px;}
.greet-img img {width: 100%; height: 100%; object-fit: cover; object-position: center;}

.greet-titles {text-align: center;}

.greet-title {font-size: 20px; font-weight: 500; color: #333;}

.greet-title .brand {color: var(--brand-purple); font-weight: 700;}

/*미션·비전*/
.mv-block{text-align:center;margin-bottom:56px}
.mv-icon{width:72px;height:72px;border-radius:50%;margin:0 auto 12px}
.mv-icon.green{background:#2BB39C}
.mv-icon.orange{background:#F78F1E}
.mv-icon.blue{background:#1E95F7}

.mv-kr{font-size:18px;font-weight:900;color:var(--font-color)}
.mv-en{font-size:18px;color:#444;margin-bottom:20px}

.mv-desc{margin:0 auto;font-size:16px;color:var(--font-color)}
.mv-banner{margin:0 auto 40px;padding:10px 20px;border-radius:50px;background:#F8F8F8;color:var(--font-color);font-size:24px;font-weight:600}
.hit-orange{color:#F78F1E}

.mv-cards .mv-card{display:flex;justify-content:center;align-items:center;flex-direction:column;height:200px;border-radius:14px;padding:22px;border:1px solid #ccc;background:#fff;text-align:center}
.mv-card-ico{background:#f8f8f8;width:70px;height:70px;display:flex;justify-content:center;align-items:center;border-radius:50px;margin-bottom:20px}
.mv-card-ico img{height:30px;display:inline-block}
.mv-card-ttl{font-size:15px;line-height:1.7;color:#333}
.mv-card-ttl p{margin-bottom:0;text-align:center;font-size:16px}

.mv-values{list-style:none;padding:0;margin:0}
.mv-values li{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:10px;border-radius:999px;background:#fff;margin-bottom:10px;border:1px solid #ccc;color:var(--font-color);font-size:16px}
.mv-badge{min-width:100px;padding:5px 10px;text-align:center;font-weight:500;background:#C4E5FF;border-radius:50px}
.mv-txt{color:#333;text-align:left}

/*연혁*/
.timeline{--line-col:calc(var(--node) + 6px);--year-w:86px;--month-w:30px;--node:30px;--line:#e8e8ee;--brand-purple:#693A94;--font-color:#222;margin:0;padding:0;list-style:none;position:relative;}
.timeline::before{content:"";position:absolute;left:calc(var(--line-col)/2);top:0;bottom:0;width:1px;background:var(--line);}
.tl-group{margin-bottom:32px;}
.row-year{display:grid;grid-template-columns:var(--line-col) var(--year-w) 1fr;align-items:center;margin-bottom:10px;}
.tl-line{display:flex;align-items:center;justify-content:center;}
.tl-node{position:relative;width:30px;height:30px;border-radius:50%;background:#E9DCF5;display:inline-block;}
.tl-node::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--brand-purple);top:50%;left:50%;transform:translate(-50%,-50%);}
.tl-year{font-weight:900;color:var(--brand-purple);font-size:20px;margin-left:25px;}
.tl-monthlist{margin:0;padding:0;list-style:none;}
.tl-monthitem{display:grid;grid-template-columns:var(--line-col) var(--year-w) 1fr;align-items:center;margin-bottom:16px;margin-left:25px;}
.tl-month{grid-column:2;font-size:16px;color:var(--brand-purple);font-weight:500;}
.tl-card{grid-column:3;background:#f7f7f8;border-radius:10px;padding:10px 20px;}
.tl-card ul{margin:0;padding:0;list-style:none;}
.tl-card li{position:relative;padding-left:14px;line-height:1.5;color:var(--font-color);}
.tl-card li::before{content:"";position:absolute;left:0;top:0.65em;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--brand-purple);opacity:.65;}

/*조직도*/
.orgchart{position:relative;}

.org-level{display:grid;justify-items:center;margin-bottom:34px;}
.org-node{width:220px;max-width:100%;padding:20px;border-radius:10px;color:#fff;text-align:center;position:relative;z-index:1;box-shadow:0 10px 24px rgba(0,0,0,.06);}
.org-role{font-size:16px;}

.ceo{background:linear-gradient(97deg,#8850E2 9.06%,#100D5B 115.6%);}
.ceo::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);width:1px;height:33px;background:#ccc;}

.director{background:#656d8c;}
.director::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);width:1px;height:36px;background:#ccc;}

.org-mid{grid-template-columns:1fr auto 1fr;align-items:center;column-gap:20px;}

.org-badge{position:relative;width:150px;text-align:center;padding:10px;border-radius:10px;border:2px solid #CADBF0;color:#3d63c6;background:#fff;font-weight:700;}
.org-badge.left{justify-self:end;}
.org-badge.right{justify-self:start;}
.org-badge.left::after,.org-badge.right::after{content:"";position:absolute;top:50%;width:40px;height:1px;background:#ccc;transform:translateY(-50%);pointer-events:none;}
.org-badge.left::after{left:100%;}
.org-badge.right::after{right:100%;}

.org-branches{position:relative;display:grid;grid-template-columns:repeat(2,220px);column-gap:180px;row-gap:16px;justify-content:center;justify-items:center;align-items:start;padding-top:20px;margin:0 auto}
.org-branches::after{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:400px;height:1px;background:#ccc}

.org-branch{width:100%;max-width:220px;display:grid;row-gap:12px;justify-items:stretch;}

.org-head{position:relative;width:100%;max-width:220px;padding:20px;border-radius:10px;color:#fff;text-align:center;line-height:1.5;font-weight:700;}
.org-head::before{content:"";position:absolute;left:50%;top:-20px;transform:translateX(-50%);width:1px;height:20px;background:#ccc;}

.head-left{background:#8aa3c9;}
.head-right{background:#9c8ed7;}

/*오시는길*/
.visit .map{border-radius:12px; overflow:hidden;} 
.visit .map-img {width:100%; overflow: hidden; border-radius: 20px; margin-bottom: 40px;}
.visit .map-img img {object-fit: contain; object-position: center;}
.visit .contact-card{background: #F7F7FA; border-radius:10px; padding: 30px; margin-bottom:14px;}
.visit .contact-inline{display:flex; align-items:center; gap:24px; flex-wrap:wrap;} 
.visit .contact-inline .contact-item{display:flex; align-items:center; gap:10px; position:relative; padding-right:24px;} 
.visit .contact-card i{font-size:20px; color:var(--brand-purple);} 
.visit .contact-card .label{font-weight:700; color:#555; margin-right:6px;} 
.visit .contact-card .text{color:#222; word-break:keep-all; font-weight: 700;} 
.visit .contact-card a{color:inherit; text-decoration:none;}
.visit .contact-card .head{display:flex; align-items:center; font-weight:700; color:#222; margin-bottom: 5px;} 
.visit .contact-card .head i{font-size:20px; color:var(--brand-purple); margin-right:8px; font-weight: 500;} 
.visit .contact-card ul{margin-bottom: 20px; padding-left:18px;} 
.visit .contact-card ul:last-child {margin-bottom: 0;}
.visit .contact-card li{position: relative; margin:6px 0; line-height:1.6; margin-left: 10px;}
.visit .contact-card li::before {position: absolute; content: ''; width: 5px; height: 5px; background: #a473d0; border-radius: 50px; top: 10px; left: -13px;}
.visit .muted{color:#777;}

.root_daum_roughmap .cont .section.lst {display: none;}
.root_daum_roughmap .wrap_controllers {display: none;}
.root_daum_roughmap_landing {border-radius: 10px;}

/*법인소개*/
.hero-photo {width:100%; height: 410px; background: url("../../images/thema/sub/inc.jpg") no-repeat center center; background-size:cover; border-radius: 28px 100px 28px 28px;}
.hero-photo img {width: 100%;}
.inc.col-md-6 {padding: 10px 0 0 40px;}
.inc.col-md-6 .text-body p {margin-bottom:1rem; text-align: left;}

.history-tabs .nav-pills .nav-link{display:inline-flex;align-items:center;justify-content:center;width:200px;margin:0 6px; padding: 15px 20px;border:1px solid #e5e5ee;background:#fff;color:#666;line-height:1;box-sizing:border-box;text-decoration:none;transition:none;font-weight:500}
.history-tabs .nav-pills .nav-link:hover, .history-tabs .nav-pills .nav-link:focus{background:#fff;color:#666;border-color:#e5e5ee;text-decoration:none;font-weight:500}
.history-tabs .nav-pills .nav-link.active{background:#fff;color:var(--brand-purple);border-color:var(--brand-purple);font-weight:700}

.board-feature{display:flex;justify-content:center}
.feature-card{position:relative;background:#fff;border:1px solid #693A94;border-radius:16px;padding:18px 24px;text-align:center;max-width:420px;margin:0 auto;}
.feature-card .badge{font-size: 16px; display:inline-block;border-radius:999px;color:var(--brand-purple);font-weight:700;margin-bottom:8px}
.feature-card .name{font-weight:800;color:#222}
.feature-card .role{color:#666;font-size:16px}
.board-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;margin-top:18px}
.board-item{background:#fff;border:1px solid #e9e6f4;border-radius:16px;padding:18px 20px;text-align:center;}
.board-item .ttl{font-weight:700;color:var(--brand-purple);margin-bottom:4px}
.board-item .sub{color:#555;font-size:16px;line-height:1.3}

/*활동지원*/
.aid-hero{display: flex; justify-content: center; align-items: center; flex-direction: column; background:var(--brand-purple-10); border-radius: 20px; background: #F7F7FC; flex-shrink: 0; padding: 30px 20px; font-size: 16px;}
.aid-ttl{font-weight:800; color:#222; font-size: 24px; margin-top: 10px;}
.aid-sub{color:#333;}
.pill {text-align: center; line-height: 1; border:1px solid #906DB1; width: 165px; height: 35px; padding:10px 18px; border-radius:999px; margin: 0 10px; color:var(--brand-purple); background: #fff; transition: .3s ease;}
.pill:hover {font-weight: 600; background: #e9e6f4; color: var(--brand-purple);}
.pill:hover i {font-weight: 600;}

.aid-card{gap: 40px;}
.aid-illust{border-radius: 20px; overflow:hidden; border:1px solid #ccc; padding: 20px; background:#fff;}
.aid-illust img{display:block; width:100%; height:auto;}
.aid-h5{position: relative; margin-bottom:10px; color:var(--brand-purple); margin-left: 10px; font-size: 16px; font-weight:800;}
.aid-h5::before {position: absolute; content: ''; width: 5px; height: 5px; top: 7px; left: -10px; background: var(--brand-purple); border-radius: 999px;}
.aid-list{margin:0; padding-left: 5px; color:#333; line-height:1.8;}
.aid-list li{list-style: none; margin-bottom:6px; line-height: 1.5; font-size: 16px; display: block;}
.aid-list a {display: inline; white-space: nowrap;}
.aid-desc {padding-left: 10px;}

.aid-contact{border:1px solid #ccc; background: #fbfbfb; border-radius:15px; padding:18px; color:#333; font-weight: 800;}

/*후원 및 봉사*/
.account-box {background:#f9f9fc; border:1px solid #e5e5ec; border-radius:10px; padding:20px; margin-top: 20px;}
.account-box p {color:#333; font-size:16px;}
.account-box li {margin:5px 0; font-size:16px; color:#444;}

@media (max-width:1024px){
  .container {padding:0 20px;}
  .container.org {padding: 0;}
}

@media (max-width:768px){
  .sub-container{padding:0 16px}

  .center-intro{padding:42px 20px}
  .center-badge{width:64px;height:64px}
  .center-title{font-size:1.25rem}
  
  .greet-titles{text-align:center; margin-left:auto; margin-right:auto;}
  .greet-titles::after {right: 45%;}
  .greet-title.mb-2 {padding-left: 0;}
  
  .mv-values li{flex-direction:column;border-radius:20px;padding:20px}
  .mv-badge{width:100%;border-radius:10px}

  .org-mid{display:flex;flex-direction:column;align-items:stretch}
  .ceo {width: 100%;}
  .ceo::after {height: 380px; z-index: 0;}
  .org-node.director{order:1; width: 100%;}
  .org-badge.left{order:2; z-index: 3;}
  .org-badge.right{order:3; z-index: 3;}
  .org-badge{width:100%; margin-top: 20px; justify-self:unset}
  .director::after, .org-badge.left::after, .org-branches::after, .org-badge.right::after, .org-head::before {display:none}

  .org-branches{display:block;padding-top:0}

  .org-branch{max-width:100%;margin-top:24px}
  .org-head{max-width:100%; z-index: 3;}

  .inc.col-md-6 {padding: 10px 0 0;}

  .board-grid{grid-template-columns:repeat(3,1fr)}

  .aid-hero{height: auto; flex-shrink: 0;}
  .aid-contact {margin-bottom: 20px;}

  .pill {width: 100%; max-width: 120px; height: auto; padding: 10px 0; margin: 0 5px; display: block;}

  .visit .contact-card{background:#F7F7FA;border-radius:10px;padding:30px;margin-bottom:14px}
  .visit .contact-inline{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
  .visit .contact-inline .contact-item{display:flex;align-items:center;gap:10px;position:relative;padding-right:24px}
  .visit .contact-card i{font-size:20px;color:var(--brand-purple)}
  .visit .contact-card .label{font-weight:700;color:#555;margin-right:6px}
  .visit .contact-card .text{color:#333;word-break:keep-all;font-weight:700}
  .visit .contact-card a{color:inherit;text-decoration:none}
  .visit .contact-card .head{display:flex;align-items:center;font-weight:700;color:#222;margin-bottom:5px}
  .visit .contact-card .head i{font-size:20px;color:var(--brand-purple);margin-right:8px;font-weight:500}
  .visit .contact-card ul{margin-bottom:20px;padding-left:18px}
  .visit .contact-card ul:last-child{margin-bottom:0}
  .visit .contact-card li{position:relative;margin:6px 0;line-height:1.6;margin-left:10px}
  .visit .contact-card li::before{position:absolute;content:"";width:5px;height:5px;background:#a473d0;border-radius:50px;top:10px;left:-13px}
  .visit .muted{color:#777}
}

@media (max-width:560px){
  .mv-values li {flex-direction: column; border-radius: 20px; padding: 20px;}
  .mv-badge {width: 100%; border-radius: 10px;}

  .timeline{--line-col:24px;--year-w:64px;--node:24px}
  .tl-year{margin-left:12px;font-size:18px}
  .tl-monthitem{margin-left: 10px; grid-template-columns:var(--line-col) 1fr; grid-template-rows:auto auto; align-items:start; row-gap:8px;}
  .tl-month{grid-column:2}
  .tl-card{grid-column:2}

  .feature-card {width: 100%;}
  .board-grid{grid-template-columns:1fr}

  .pill {width: 40%; max-width:100%; padding: 10px 0; margin: 5px 0;}

}
