@charset "utf-8";

#sub-wrap{padding-top:80px}
.cont-wrap .img-box{margin:3rem 0}

/* [영역] 상단 헤더 & 서브 비주얼 */
.header-section{margin-top:5rem}
.category-badge{display:block;margin-bottom:15px;font-size:1rem;font-weight:700;text-transform:uppercase}
.sub-visual-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100vh;background-color:#fff}
.img-container{position:relative;width:85%;height:80vh;border-radius:30px;box-shadow:0 20px 40px rgba(0,0,0,0.1);overflow:hidden}
.visual-img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.overlay-text{position:absolute;bottom:40px;left:40px;z-index:2;color:rgba(255,255,255,0.9);font-size:1.25rem;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,0.5)}

/* [영역] 본문 레이아웃 & 타이포그래피 */
.content-wrap{position:relative;z-index:10;background:#fff}
.visual-picture{display:block;width:100%;height:100%}

/* [컴포넌트] 도표 및 비교 배지 */
.comp-container{margin:3rem 0}
.comp-title{margin-bottom:30px;color:var(--text-main);font-size:1.2rem;font-weight:700;text-align:center}
.comp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.comp-badge{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:130px;padding:25px 10px;border:1px solid #d1d5db;border-radius:12px;background:#fff;text-align:center}
.comp-badge.korea{border:1px solid var(--point-border);background:#fff}
.comp-country{margin-bottom:10px;color:var(--text-sub);font-size:1rem;font-weight:500}
.comp-multiplier{color:var(--text-main);font-size:2rem;font-weight:700;line-height:1}
.comp-badge.korea .comp-multiplier{color:var(--point)}
.comp-desc{margin-top:8px;color:#999;font-size:0.85rem;font-weight:400}

/* [컴포넌트] 순환 다이어그램 */
.cycle-container{display:flex;justify-content:space-between;align-items:stretch;gap:10px;margin:50px 0;padding:0;border:none;background:transparent}
.cycle-step{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;min-height:140px;padding:20px 10px;border:1px solid #e5e5e5;border-radius:12px;background:#fff;text-align:center}
.cycle-step i{margin-bottom:15px;color:var(--text-sub);font-size:2rem}
.cycle-step span{color:var(--text-main);font-size:0.95rem;font-weight:700;line-height:1.4}
.cycle-arrow-item{align-self:center;color:var(--border);font-size:1.2rem}
.step-danger{border-color:var(--point);background-color:#fffbfb}
.step-danger i,.step-danger span{color:var(--point)!important}
.step-point{border-color:var(--point)}
.step-point i{color:var(--point)}

/* [컴포넌트] 불일치 다이어그램 */
.mismatch-diagram{display:flex;align-items:stretch;gap:20px;margin:40px 0}
.mismatch-box{display:flex;flex:1;flex-direction:column;align-items:center;padding:30px 20px;border:1px solid var(--border);border-radius:16px;background:#fff;text-align:center}
.mismatch-icon-big{margin-bottom:15px;font-size:2rem}
.mismatch-title{margin-bottom:10px;color:var(--text-main);font-size:1.2rem;font-weight:700}
.mismatch-desc{color:var(--text-sub);font-size:0.95rem;line-height:1.5}
.mismatch-desc strong{color:var(--text-main)}
.mismatch-break-center{display:flex;justify-content:center;align-items:center;color:var(--light-gray);font-size:2rem}

/* [컴포넌트] 차트 박스 */
.chart-box{margin:40px 0;border:1px solid var(--border);border-radius:16px;background:#fff}
.chart-title{margin-bottom:30px;font-size:1.2rem;font-weight:700;text-align:center}
.chart-title .years{font-size:.875rem;color:#707070}
.bar-wrap{margin-bottom:20px}
.bar-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:0.95rem;font-weight:600}
.bar-bg{height:30px;border-radius:6px;background:#eee;overflow:hidden}
.bar-fill{width:0;height:100%;padding-right:15px;border-radius:6px;background:var(--orange);color:#fff;font-size:0.85rem;line-height:30px;text-align:right;transition:width 1.5s ease-out}

/* [컴포넌트] 아이콘/인용구/팩트 박스 */
.icon-diagram{display:flex;flex-wrap:wrap;gap:20px;margin:40px 0}
.icon-box{flex:1;min-width:200px;padding:30px;border:1px solid var(--border);border-radius:16px;background:#fff;text-align:center}
.icon-box i{display:block;margin-bottom:15px;font-size:2.5rem}
.quote-box{margin:40px 0;padding:30px;background-color:#f8f8f8}
.quote-en{display:block;color:var(--primary);font-family:'Georgia',serif;font-size:1rem;font-style:italic;line-height:1.6}
.quote-kr{display:block;color:var(--text-sub);font-size:1rem;font-weight:300}
.quote-source{font-size:.875rem;color:#909090}

/* [컴포넌트] OSHA 제재 기준 도식화 */
.osha-penalty-container{margin:60px 0}
.penalty-card h4{word-break:keep-all}

@media (min-width:768px){
    .osha-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1024px){
    .osha-grid{grid-template-columns:repeat(4,1fr)}
}

/* [영역] 하단 섹션 (네비게이션 카드 스타일) */
.bottom-section{margin-top:0;padding:80px 0;background-color:var(--bg-light-gray)}
.post-navigation{display:flex;justify-content:space-between;gap:20px;border:none}
.nav-item{display:flex;align-items:center;width:50%;padding:40px 30px;background-color:#fff;border:1px solid #e5e5e5;text-decoration:none;transition:border-color 0.3s}
.nav-item:hover{border-color:var(--point)}
.nav-item.prev{justify-content:flex-start;text-align:left}
.nav-item.prev .nav-icon{margin-right:20px}
.nav-item.next{justify-content:flex-end;text-align:right}
.nav-item.next .nav-icon{margin-left:20px}
.nav-item.prev .nav-label{color:var(--navy)}
.nav-item:hover.prev{border-color:var(--navy)}
.nav-text{display:flex;flex-direction:column;gap:8px;width:100%}
.nav-label{color:var(--point);font-size:0.9rem;font-weight:700}
.nav-title{color:#111;font-size:1.1rem;font-weight:700;line-height:1.4;word-break:keep-all}
.nav-icon{flex-shrink:0;color:#ccc;font-size:1.5rem}

/* [컴포넌트] 텍스트 하이라이트 효과 */
.content-wrap .highlight-quote-box{margin-bottom:2rem}
.content-wrap .highlight-quote-box h5{color:#ccc;font-weight:700}
.reveal-text{display:inline;color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(to right,#111 50%,#ccc 50%);background-size:200% 100%;background-position:100% 0}

#sub-wrap .content-wrap{letter-spacing:-.04rem}
#sub-wrap .content-wrap p{display:block;margin-bottom:1.25rem;font-size:1.125rem;text-align:left;line-height:1.6;word-break:keep-all}

/* [컴포넌트] 저자 소개 박스 */
.author-box{display:flex;align-items:flex-start;gap:40px;padding:50px;margin-top:5rem;background-color:#f9f9f9;border-radius:20px}
.auth-img{flex-shrink:0;width:120px;height:120px;border-radius:50%;overflow:hidden;background:#f5f5f5}
.auth-img img{width:100%;height:100%;object-fit:cover}
.auth-info{flex-shrink:0;width:200px;padding-top:10px}
.auth-info .role{display:block;color:var(--point);font-weight:800;font-size:1.1rem;margin-bottom:5px;font-family:'Montserrat',sans-serif}
.auth-info .name{display:block;font-size:1.5rem;font-weight:800;color:#222;margin-bottom:5px;line-height:1.3}
.auth-info .affil{display:block;color:#888;font-size:0.95rem;font-weight:500}
.auth-bio{flex-grow:1;padding-top:10px}
.auth-bio .bio-label{display:block;color:var(--point);font-weight:800;font-size:1.1rem;margin-bottom:15px}
.bio-list{list-style:none;margin:0;padding:0}
.bio-list li{position:relative;padding-left:0;color:#666;font-size:0.95rem;line-height:1.6}

/* [GPU 페이지 전용 스타일] */
.allocation-diagram{padding:3rem;text-align:center;background-color:#f9fbfd;border:1px solid #e1e8ed;border-radius:24px}
.alloc-card{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:200px;aspect-ratio:1/1;margin:0 auto;text-align:center;background:#fff;border:1px solid #eee;border-radius:50%}
.alloc-card strong{display:block;margin-bottom:2px;color:#222;font-size:1.05rem;font-weight:700;word-break:keep-all}
.plan-card{padding:30px;background:#fefefe;border:1px solid var(--border);border-radius:16px}
.plan-card .card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee;font-size:1.2rem}
.plan-card.theme-navy .card-header{color:var(--navy);border-bottom-color:var(--navy)}
.plan-card.theme-orange .card-header{color:var(--point);border-bottom-color:var(--point)}
.plan-card ul{margin:0;padding:0;list-style:none}
.plan-card ul li{position:relative;padding-left:15px;margin-bottom:8px;color:#555;font-size:0.95rem;line-height:1.5}
.plan-card ul li::before{content:"•";position:absolute;top:0;left:0;color:#ccc;font-weight:bold}
.plan-card.theme-navy ul li::before{color:var(--navy)}
.plan-card.theme-orange ul li::before{color:var(--point)}

/* [Gen-Z 칼럼 전용 스타일] */
.genz-compare-box{display:flex;gap:20px;justify-content:center;align-items:center;margin:60px 0}
.compare-card{flex:1;padding:40px 20px;text-align:center;border-radius:20px;background:#fff;border:1px solid #e5e5e5}
.compare-card .icon-circle{width:70px;height:70px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff}
.compare-card .icon-circle.bg-navy{background-color:var(--navy)}
.compare-card .icon-circle.bg-point{background-color:var(--point)}
.compare-card .type-title{display:block;font-size:1.2rem;font-weight:800;margin-bottom:5px}
.compare-card .type-title.text-navy{color:var(--navy)}
.compare-card .type-title.text-point{color:var(--point)}
.compare-card .keyword{display:block;font-size:1rem;color:#555;font-weight:700;margin-bottom:15px}
.compare-card .desc{font-size:0.95rem;color:#666;line-height:1.5;word-break:keep-all}
.vs-badge{font-size:2rem;font-weight:900;color:#ddd;font-style:italic}
.genz-love-diagram{padding:30px 0;margin:60px 0;background:transparent;border:none;text-align:center}
.love-header{font-size:1.5rem;font-weight:800;color:var(--navy);margin-bottom:40px}
.love-flex-wrap{display:flex;gap:20px;justify-content:center}
.love-group{flex:1;background:#f9fbfd;border:1px solid #e1e8ed;border-radius:24px;padding:1rem;display:flex;align-items:center;justify-content:center;gap:15px}
.love-group p{margin-bottom:0!important}
.love-item{flex:1;padding:20px 10px;background:#fff;border-radius:12px;border:1px solid #eee;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:140px}
.love-item.old{background:#f5f5f5}
.love-item.new{border-color:var(--point);background:#fff}
.love-item .label{display:inline-block;padding:4px 12px;border-radius:20px;font-size:0.75rem;font-weight:700;margin-bottom:10px;text-transform:uppercase}
.love-item.old .label{background:#ddd;color:#666}
.love-item.new .label.bg-point{background:var(--point);color:#fff}
.love-item strong{display:block;font-size:1.05rem;margin-bottom:5px;color:#333;word-break:keep-all}
.love-item p{font-size:0.85rem;color:#666;margin:0;line-height:1.3;word-break:keep-all}
.love-arrow{color:#ccc;font-size:1.2rem;flex-shrink:0}
.genz-routine-container{text-align:center;background:#fff}
.routine-title{font-size:1.3rem;font-weight:800;margin-bottom:30px;color:var(--navy)}
.routine-steps{display:flex;justify-content:center;align-items:center;gap:20px}
.r-step{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;border:1px solid #eee;border-radius:16px;background:#fff}
.r-step i{font-size:2rem;color:#ccc;margin-bottom:15px}
.r-step.point{border-color:var(--point)}
.r-step i.text-point{color:var(--point)}
.r-step strong{font-size:1.1rem;font-weight:800;margin-bottom:5px;color:#333}
.r-step strong.text-point{color:var(--point)}
.r-step span{font-size:0.9rem;color:#777;line-height:1.4}
.r-arrow{color:#ddd;font-size:1.2rem}

/* [Running 칼럼 전용 스타일] */
.running-compare-box{display:flex;justify-content:center;align-items:center;gap:20px;margin:50px 0}
.run-card{flex:1;padding:30px 20px;text-align:center;border-radius:20px;background:#f9f9f9;border:1px solid #eee}
.run-card.sprinter{background:#fff;color:var(--border)}
.run-card.marathoner{background:#fff;border-color:var(--point);box-shadow:0 10px 20px rgba(255,107,0,0.05)}
.run-card .icon-circle{width:60px;height:60px;margin:0 auto 15px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.run-card.marathoner .icon-circle{background-color:var(--point);color:#fff}
.run-card ul{list-style:none;padding:0;margin:0}
.run-card ul li{margin-bottom:5px}
.running-faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.faq-item{padding:25px;background:#fff;border:1px solid #e5e5e5;border-radius:16px;box-shadow:0 5px 15px rgba(0,0,0,0.03)}
.faq-item .q-box{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}
.faq-item .tag{display:inline-block;padding:2px 8px;background:var(--navy);color:#fff;border-radius:4px;font-size:0.75rem;font-weight:700;margin-bottom:5px}
.faq-item strong{display:block;font-size:1.05rem;color:#333;line-height:1.3}
.faq-item .ans-title{font-weight:700;margin-bottom:5px;font-size:1rem}
.faq-item .ans-desc{font-size:0.9rem;color:#666;line-height:1.5;margin:0}
.running-course-container{display:flex;gap:20px}
.course-card{flex:1;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #eee}
.course-card .c-img{position:relative;height:300px;overflow:hidden}
.course-card .c-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.course-card:hover .c-img img{transform:scale(1.1)}
.course-card .loc-badge{position:absolute;top:15px;left:15px;padding:5px 10px;color:#fff;font-size:0.8rem;font-weight:800;border-radius:20px}
.course-card .c-info{padding:20px;text-align:center}
.course-card .c-info strong{display:block;font-size:1.1rem;margin-bottom:5px;color:#222}
.course-card .c-info p{font-size:0.9rem;color:#666;line-height:1.4;margin:0}

/* [Proptech 인터뷰 페이지 전용 스타일] */
.interview-container{display:flex;flex-direction:column;gap:80px;background:var(--bg-light-gray)}
.interview-row{display:flex;align-items:center;gap:50px;margin-bottom:5rem}
.interview-row:last-child{margin-bottom:0}
.interview-row.reverse{flex-direction:row-reverse}
.int-text{flex:1;word-break:keep-all}
.q-mark{display:inline-block;margin-bottom:15px;padding:5px 12px;background:var(--navy);color:#fff;border-radius:20px;font-size:0.9rem;font-weight:800}
.interview-row:nth-child(even) .q-mark{background:var(--point)}
.q-title{margin-bottom:20px;font-size:1.6rem;font-weight:800;color:#222;line-height:1.3}
.a-desc{font-size:1.1rem;color:#555;line-height:1.7;text-align:justify}
.int-img{flex:1;max-width:580px;border-radius:10px;overflow:hidden}
.int-img img{width:100%;height:100%;object-fit:cover}

/* [CEO 신년사 페이지 전용 스타일] */
.ceo-layout-v3{color:#333}
.ceo-layout-v3 p{margin-bottom:.8rem;line-height:1.75;word-break:keep-all;text-align:justify}
.speech-header-v3{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid #eee}
.date-badge{display:inline-block;padding:6px 15px;background:#f0f2f5;color:#666;border-radius:20px;font-size:0.95rem;font-weight:600;margin-bottom:20px}
.greeting-title{font-size:2.2rem;font-weight:800;color:#111;margin-bottom:25px}
.lead-text{font-size:1.3rem!important;font-weight:500;color:#444;line-height:1.6!important;text-align:left!important}
.ceo-article-body{width:100%}
@media (min-width:1024px){
    .ceo-article-body{column-count:2;column-gap:60px;orphans:2;widows:2}
    .text-block p,.dir-item,.img-group,.sub-heading,.emphasis-text,.closing-section{break-inside:avoid;margin-bottom:2rem}
    .dir-item{page-break-inside:avoid}
}
.sub-heading{font-size:1.8rem;font-weight:800;color:var(--navy);margin-top:20px;margin-bottom:20px;display:block}
.emphasis-text{font-size:1.4rem!important;font-weight:500;color:#222;display:block}
.emphasis-text strong{color:var(--point);box-shadow:inset 0 -10px 0 rgba(255,107,0,0.1)}
.img-group{text-align:center;margin-bottom:30px;width:100%}
.img-group .main-img{width:100%;border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,0.08)}
.img-group .caption{margin-top:15px;font-size:0.9rem;color:#777;text-align:center;font-weight:500}
.direction-list{margin:40px 0}
.dir-item{margin-bottom:2rem}
.dir-item:last-child{border-bottom:1px dashed var(--light-gray)}
/* .dir-item.first{padding-top:2rem;border-top:1px dashed var(--light-gray)} */
.dir-title{font-size:1.4rem;font-weight:700;color:var(--navy);margin-bottom:15px;line-height:1.4;word-break:keep-all}
.dir-content p{font-size:1.05rem;color:#555;text-align:left!important;margin-bottom:10px}
.closing-text{font-size:1.2rem!important;font-weight:500;color:#333}
.closing-greeting{font-size:1.25rem!important;color:#222;font-weight:700}
.signature-block-v3{margin-top:40px;display:inline-block;width:100%}
.sig-date{display:block;font-size:1.1rem;color:#666;margin-bottom:10px}
.sig-name{font-size:1.8rem;font-weight:900;color:#222}

/* [카드뉴스 갤러리 레이아웃 V3] */
.news-gallery-layout{display:flex;gap:30px;height:700px}
.thumbs-col{width:180px;flex-shrink:0;height:100%}
.gallery-thumbs{height:100%;padding:2px}
.thumb-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;border:3px solid transparent;transition:all 0.3s}
.thumb-item img{width:100%;height:100%;display:block;aspect-ratio:1/1;object-fit:cover;filter:grayscale(100%);transition:filter 0.3s}
.gallery-thumbs .swiper-slide-thumb-active .thumb-item{border-color:var(--point);box-shadow:0 5px 15px rgba(0,0,0,0.15)}
.gallery-thumbs .swiper-slide-thumb-active .thumb-item img{filter:grayscale(0%)}
.gallery-thumbs .swiper-slide:hover .thumb-item img{filter:grayscale(0%)}
.main-col{flex-grow:1;background-color:#f4f4f4;border-radius:20px;padding:30px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-top{width:100%;height:100%}
.gallery-top .swiper-slide{display:flex;align-items:center;justify-content:center}
.gallery-top .swiper-slide img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,0.15)}
.gallery-top .swiper-button-next,.gallery-top .swiper-button-prev{color:var(--gray)!important;background:rgba(255,255,255,0.8);width:50px;height:50px;border-radius:50%;border:1px solid var(--light-gray);box-shadow:none}
.gallery-top .swiper-button-next:hover,.gallery-top .swiper-button-prev:hover{color:var(--point)!important}
.gallery-top .swiper-button-next:after,.gallery-top .swiper-button-prev:after{font-size:1.125rem;font-weight:400}

/* [Story 페이지] */
.video-section{margin:0 auto}
.video-container{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:20px;box-shadow:0 15px 40px rgba(0,0,0,0.15)}
.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.video-desc{margin-top:50px;padding:0 20px}

/* [인터뷰 페이지 리뉴얼 스타일 - V3 Final] */
.q-block .q-label{display:block;font-size:0.95rem;font-weight:800;color:var(--point);margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.q-block h3{font-size:1.6rem;font-weight:700;color:#222;margin-bottom:20px;line-height:1.3;word-break:keep-all}
.q-block p{font-size:1.1rem;line-height:1.7;color:#555;text-align:left;word-break:keep-all;margin-bottom:15px}
.q-block .highlight-text{font-size:1.25rem;font-weight:700;color:var(--navy);margin-top:30px;font-style:italic;word-break:keep-all}
.intro-section{display:flex;gap:50px;align-items:center;margin-bottom:80px}
.intro-img{position:relative;width:40%;flex-shrink:0}
.intro-img img{width:100%;border-radius:16px}
.name-tag{position:absolute;bottom:20px;right:-20px;background:#fff;padding:15px 25px;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,0.1)}
.name-tag strong{display:block;font-size:1.2rem;color:#222}
.name-tag span{font-size:0.9rem;color:#888}
.intro-text{flex:1}
.zigzag-row{display:flex;gap:50px;align-items:center;margin-bottom:60px}
.zigzag-row .text-col{flex:1}
.zigzag-row .img-col{width:45%;flex-shrink:0}
.zigzag-row .img-col img{width:100%;border-radius:16px}
.gallery-grid-section{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:200px 200px;gap:15px;position:relative}
.grid-item img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.grid-item.main{grid-row:1/3}
.grid-item.sub1{grid-column:2;grid-row:1}
.grid-item.sub2{grid-column:2;grid-row:2}
.wide-text-wrapper{display:flex;flex-direction:column;gap:30px}
.wide-text-box{background:#fff;padding:40px;border-radius:20px;border:1px solid var(--border)}
.wide-text-box.highlight{background:#fff5f0;border-color:var(--point)}
.box-label{display:inline-block;background:var(--navy);color:#fff;padding:5px 15px;border-radius:20px;font-size:0.9rem;font-weight:700;margin-bottom:20px}
.wide-text-box.highlight .box-label{background:var(--point)}
.wide-text-box h4{font-size:1.4rem;font-weight:800;color:#222;margin-bottom:20px;line-height:1.4;word-break:keep-all}
.wide-text-box p{font-size:1.1rem;line-height:1.8;color:#555;margin-bottom:15px;text-align:left;word-break:keep-all}
.interview-layout-v2 .point-text{font-size:1.25rem!important;font-weight:700;color:var(--point)!important;line-height:1.4!important;margin:30px 0!important;text-align:left;word-break:keep-all}

/* [House 페이지 - 수도권 주택사업단 스타일 V6 Final] */
.q-section{margin-bottom:60px}
.q-header{margin-bottom:25px}
.q-badge{display:inline-block;font-size:1.35rem;font-weight:700;color:var(--point);margin-bottom:10px}
.q-badge.point{color:#fff;background:var(--point);padding:3px 12px;border-radius:20px}
.q-header h3{font-size:1.6rem;font-weight:800;color:#222;line-height:1.4;word-break:keep-all}
.section-divider{border:0;height:1px;background:#eee;margin:60px 0}
.img-full-box{margin-bottom:30px}
.img-full-box img{width:100%;display:block;border-radius:16px}
.a-body p{font-size:1.1rem;line-height:1.8;color:#555;margin-bottom:15px;text-align:justify;word-break:keep-all}
.speaker-item{margin-bottom:30px}
.speaker-name{display:inline-block;font-size:1rem;font-weight:700;color:#222;background:#f4f4f4;padding:8px 18px;border-radius:10px;margin-bottom:12px}
.speaker-name i{color:var(--point);margin-right:6px}
.highlight{color:var(--point);font-weight:700;margin-top:15px}

/* [모든 발간호 보기 (History) 페이지 스타일] */
.history-header{padding-top:80px;padding-bottom:40px;display:flex;align-items:center;gap:20px}
.history-header .page-title{font-size:1.5rem;font-weight:700;color:#111;white-space:nowrap}
.history-header .title-line{width:100%;height:1px;background-color:#e5e5e5;flex-grow:1}
.history-item{display:block;position:relative;text-decoration:none}
.cover-box{position:relative;width:100%;aspect-ratio:1/1.4;border-radius:4px;overflow:hidden;background-color:#f3f4f6}
.cover-box img{width:100%;height:100%;object-fit:cover;display:block}
.new-badge{position:absolute;bottom:10px;left:10px;background:#e11d48;color:#fff;font-size:0.75rem;font-weight:700;padding:3px 8px;border-radius:20px;z-index:2}
.vol-info{margin-top:10px;font-size:0.9rem;color:#666;text-align:center;opacity:0;transition:opacity 0.3s}
.history-item:hover .vol-info{opacity:1}

/* [이벤트 페이지 전용 스타일] */
.event-poster-box{display:flex;gap:20px;justify-content:center;align-items:flex-start}
.poster-item{flex:1;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.08)}
.poster-item img{width:100%;height:auto;display:block}
.btn-video-link{display:inline-flex;align-items:center;gap:12px;padding:18px 50px;background:var(--navy);color:#fff;border-radius:100px;font-size:1.3rem;font-weight:800;transition:all 0.3s cubic-bezier(0.25,0.8,0.25,1);text-decoration:none;box-shadow:0 10px 20px rgba(0,0,0,0.15)}
.btn-video-link .icon-box{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border-radius:50%;color:var(--navy);font-size:1rem;transition:all 0.3s}

.btn-video-link:hover .icon-box{color:var(--point)}
.bg-point-orange {background-color:var(--orange);color:#fff}
.bg-point-orange:hover {background-color:var(--orange);filter:brightness(0.9)}

/* [반응형] 모바일 대응 */
@media (max-width:768px){
    /* 기존 스타일 */
    h1{font-size:2.2rem}
    .img-box-wrap{height:300px}
    .img-box-wrap img{width:100%;height:100%;object-fit:cover}
    .comp-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .comp-badge{min-height:110px;padding:20px 5px}
    .comp-multiplier{font-size:1.6rem}
    .cycle-container{flex-direction:column}
    .cycle-arrow-item{margin:10px 0;transform:rotate(90deg)}
    .mismatch-diagram{flex-direction:column}
    .mismatch-break-center{padding:10px 0;transform:rotate(90deg)}
    .post-navigation{flex-direction:column;gap:15px}
    .nav-item{width:100%;padding:25px 20px}
    .author-box{flex-direction:column;gap:30px;padding:30px;text-align:center;align-items:center}
    .auth-info{width:100%;padding-top:0}
    .auth-bio{width:100%;padding-top:0;text-align:left}
    .section-title{font-size:1.5rem}
    .allocation-diagram{padding:30px 20px}
    .alloc-card{margin-bottom:10px}
    .plan-card{padding:20px}
    .plan-card ul li{text-align:center}
    .plan-card ul li::before{content:'';padding:0}
    .genz-compare-box{flex-direction:column;gap:30px}
    .compare-card{width:100%}
    .love-flex-wrap{flex-direction:column;gap:30px}
    .love-group{flex-direction:column;padding:1rem}
    .love-item{width:100%;min-height:auto;padding:20px}
    .love-arrow{transform:rotate(90deg);margin:10px 0}
    .routine-steps{flex-direction:column;gap:15px}
    .r-arrow{transform:rotate(90deg)}
    .r-step{width:100%}
    .running-compare-box{flex-direction:column;gap:30px}
    .run-card{width:100%}
    .running-faq-grid{grid-template-columns:1fr;gap:15px}
    .running-course-container{flex-direction:column;gap:20px}
    .interview-container{gap:60px}
    .interview-row{flex-direction:column-reverse!important;gap:50px}
    .int-img{width:100%;max-width:100%}
    .q-title{font-size:1.3rem}
    .a-desc{font-size:1rem}
    .greeting-title{font-size:1.8rem}
    .lead-text{font-size:1.15rem!important}
    .sub-heading{font-size:1.5rem}
    .emphasis-text{font-size:1.2rem!important}
    .dir-title{font-size:1.25rem}
    .closing-text{font-size:1.1rem!important}
    .closing-section{text-align:left}
    .closing-text,.closing-greeting{text-align:left!important}
    .signature-block-v3{text-align:left;border-top:none;margin-top:20px;padding-top:0}
    .img-group{width:100%;height:300px}
    .img-group img{width:100%;height:100%;object-fit:cover}
    .news-gallery-layout{flex-direction:column-reverse;height:auto;gap:20px}
    .thumbs-col{width:100%;height:auto}
    .thumb-item{border-width:2px}
    .thumb-item img{border-radius:0}
    .main-col{padding:0;background:transparent;aspect-ratio:1/1}
    .video-container{border-radius:12px}
    .video-desc{margin-top:30px}
    .intro-section{flex-direction:column}
    .intro-img{width:100%;height:300px}
    .intro-img img{width:100%;height:100%;object-fit:cover}
    .name-tag{right:0;bottom:-20px}
    .zigzag-row{flex-direction:column;gap:30px}
    .zigzag-row.reverse-mobile{flex-direction:column-reverse}
    .zigzag-row .img-col{width:100%;height:300px}
    .zigzag-row .img-col img{width:100%;height:100%;object-fit:cover}
    .gallery-grid-section{grid-template-columns:1fr;grid-template-rows:auto}
    .grid-item.main{grid-row:auto;height:250px}
    .vision-section,.last-section .flex{flex-direction:column}
    .q-badge{font-size:1rem}
    .header-section h1{font-size:2.5rem;line-height:1.3}
    .q-header h3{font-size:1.3rem}
    .section-divider{margin:40px 0}
    .penalty-card strong{font-size:1.625rem}
    .house-layout .img-full-box{width:100%;height:300px}
    .house-layout .img-full-box img{width:100%;height:100%;object-fit:cover}
    .history-header{padding-top:40px;padding-bottom:20px}
    .history-header .page-title{font-size:1.25rem}
    .event-poster-box{flex-direction:column;gap:15px}
    .poster-item{width:100%}
    .btn-video-link{width:100%;justify-content:center;font-size:1.1rem;padding:15px 30px}

    /* ▼▼▼ [수정된 부분] 모바일 서브 비주얼 높이 축소 ▼▼▼ */
    .sub-visual-wrapper{height:60vh;align-items:flex-start;padding-top:20px}
    .img-container{width:92%;height:50vh;border-radius:20px}
    .overlay-text{bottom:20px;left:20px;padding-right:1rem;font-size:1.1rem}
}