/* ============================================
   러프미디어 공개 페이지 전용 CSS
   v3.0 - 에이템포 참고 갤러리형 리디자인
   ============================================ */

/* ---------- Pretendard (Variable) 웹폰트 ---------- */
@font-face {
    font-family: 'Pretendard';
    font-weight: 45 920;
    font-style: normal;
    font-display: swap;
    src: url('/static/assets/fonts/pretendard/PretendardVariable.woff2') format('woff2-variations');
}

/* ============================================================
   타이포 스케일
   -------------------------------------------------------------
   전체 서체: Pretendard Variable (weight 45-920)
   display-*  : 히어로/섹션 타이틀
   heading-*  : 카드·블록 제목
   body-*     : 본문/설명
   caption    : 메타·부가 정보
   micro      : 뱃지·라벨
   ============================================================ */
:root{
    --fs-display-xl: 2.6rem;   /* 메인 히어로 타이틀 */
    --fs-display-lg: 2.2rem;   /* 서브 히어로 타이틀 */
    --fs-display-md: 1.9rem;   /* 섹션 타이틀 */
    --fs-display-sm: 1.5rem;   /* 서브 섹션 강조 */
    --fs-heading-lg: 1.25rem;  /* 카드 대제목 */
    --fs-heading-md: 1.1rem;   /* 카드 중제목 */
    --fs-heading-sm: 1rem;     /* 카드 소제목 / H6 */
    --fs-heading-xs: 0.9rem;   /* 작품카드 제목 */
    --fs-body-lg: 1.02rem;     /* 강조 본문 (인트로·리드) */
    --fs-body-md: 0.95rem;     /* 기본 본문·부제 */
    --fs-body-sm: 0.85rem;     /* 보조 본문·버튼 */
    --fs-caption: 0.78rem;     /* 메타·날짜·저자 */
    --fs-micro: 0.68rem;       /* 뱃지·라벨·카운트 */
}
@media(max-width:767.98px){
    :root{
        --fs-display-xl: 2rem;
        --fs-display-lg: 1.7rem;
        --fs-display-md: 1.5rem;
        --fs-heading-lg: 1.15rem;
        --fs-heading-md: 1.05rem;
    }
}
@media(max-width:575.98px){
    :root{
        --fs-display-xl: 1.6rem;
        --fs-display-lg: 1.4rem;
        --fs-display-md: 1.25rem;
    }
}

/* ---------- 테마 ---------- */
:root, [data-theme="sky"] {
    --brand-primary: #6AA4CB;
    --brand-primary-dark: #4D8BB5;
    --brand-primary-light: #F0F6FA;
    --brand-dark: #1A2E4A;
    --brand-dark-secondary: #253D5E;
    --brand-primary-rgb: 106,164,203;
    --navbar-bg: #fff;
    --navbar-text: #222;
    --navbar-border: #6AA4CB;
    --section-alt: #FAFBFD;
    --footer-bg: #111;
    --featured-bg: #0F1C32;
    --about-overlay: linear-gradient(135deg, rgba(106,164,203,.6), rgba(15,28,50,.85));
}
[data-theme="navy"] {
    --brand-primary: #0A122D;
    --brand-primary-dark: #060B1E;
    --brand-primary-light: #EAECF2;
    --brand-dark: #0A122D;
    --brand-dark-secondary: #141E3C;
    --brand-primary-rgb: 10,18,45;
    --navbar-bg: #0A122D;
    --navbar-text: rgba(255,255,255,.9);
    --navbar-border: #2A3F6E;
    --section-alt: #F4F5F8;
    --footer-bg: #060B1E;
    --featured-bg: #060B1E;
    --about-overlay: linear-gradient(135deg, rgba(10,18,45,.8), rgba(6,11,30,.92));
}

/* ---------- 기본 ---------- */
*{box-sizing:border-box}
body{
    font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    color:#222; line-height:1.7; font-size:15px; -webkit-font-smoothing:antialiased; word-break:keep-all;
}
h1,h2,h3,h4,h5,h6,.section-title,.btn,.nav-link{
    font-family:'Pretendard',sans-serif;
}

/* ---------- 네비 ---------- */
.public-navbar{
    padding:.5rem 0; z-index:1030;
    border-bottom:1px solid rgba(0,0,0,.06);
    background:var(--navbar-bg)!important;
    position:fixed!important; top:0!important; left:0!important; right:0!important;
    z-index:1050!important; width:100%!important;
}
.public-navbar .navbar-brand img{height:72px; transition:opacity .2s}
.public-navbar .navbar-brand img:hover{opacity:.8}
.public-navbar .nav-link{
    font-weight:500; color:var(--navbar-text); padding:.5rem 1rem;
    font-size:.85rem; letter-spacing:.04em; text-transform:uppercase;
    transition:opacity .2s; opacity:.7;
}
.public-navbar .nav-link:hover,.public-navbar .nav-link.active{opacity:1}
.btn-login-gnb{
    background:#222; border-color:#222; color:#fff!important;
    font-weight:500; font-size:.8rem; padding:.35rem 1rem; border-radius:4px;
    transition:opacity .2s;
}
.btn-login-gnb:hover{opacity:.8; background:#222; border-color:#222}
[data-theme="navy"] .btn-login-gnb{background:#fff; border-color:#fff; color:#0A122D!important}
[data-theme="navy"] .public-navbar .nav-link{color:rgba(255,255,255,.6)}
[data-theme="navy"] .public-navbar .nav-link:hover,
[data-theme="navy"] .public-navbar .nav-link.active{color:#fff; opacity:1}
[data-theme="navy"] .public-navbar .navbar-toggler-icon{filter:invert(1)}

/* ============================================================
   하늘색(Sky) 테마 — "Airy · Refreshing · Clean"
   컨셉: 밝고 산뜻한 하늘빛. 흰색 + 하늘색 포인트.
   ============================================================ */
/* 네비/헤더 */
[data-theme="sky"] body{background:#FCFDFE}
[data-theme="sky"] .public-navbar{border-bottom:2px solid #6AA4CB}
[data-theme="sky"] .public-navbar .nav-link:hover,
[data-theme="sky"] .public-navbar .nav-link.active{color:#6AA4CB; opacity:1}
[data-theme="sky"] .btn-login-gnb{background:#6AA4CB; border-color:#6AA4CB; color:#fff!important; box-shadow:0 2px 8px rgba(106,164,203,.3)}
[data-theme="sky"] .btn-login-gnb:hover{background:#4D8BB5; border-color:#4D8BB5; opacity:1}

/* 섹션 공통 */
[data-theme="sky"] .section-title{color:#1A2E4A}
[data-theme="sky"] .section-subtitle{color:#4D6B87}
[data-theme="sky"] .bg-brand-light{background:linear-gradient(180deg,#F8FBFD 0%,#F0F6FA 100%)!important}

/* 히어로 */
[data-theme="sky"] .hero-section{background:linear-gradient(135deg,#F0F6FA 0%,#DCE9F3 100%); border-bottom:1px solid rgba(106,164,203,.25)}
[data-theme="sky"] .hero-section h1{color:#1A2E4A}
[data-theme="sky"] .hero-section p{color:#4D6B87}
[data-theme="sky"] .hero-section .btn-hero{background:#6AA4CB; border-color:#6AA4CB; color:#fff; box-shadow:0 4px 16px rgba(106,164,203,.4)}
[data-theme="sky"] .hero-section .btn-hero:hover{background:#4D8BB5; border-color:#4D8BB5; opacity:1}

/* 회사소개 히어로 */
[data-theme="sky"] .about-hero-banner{background:linear-gradient(135deg,#0F1C32 0%,#2A4F7C 100%) center/cover no-repeat}
[data-theme="sky"] .about-hero-banner.has-bg .ahb-inner{background:transparent}
[data-theme="sky"] .ahb-text h1{color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.3)}
[data-theme="sky"] .ahb-stat strong{color:#6AA4CB}
[data-theme="sky"] .about-intro-text{color:#4D6B87}

/* 대표 작품 */
[data-theme="sky"] .featured-works-section{background:linear-gradient(135deg,#0F1C32 0%,#1E3A5F 50%,#2A4F7C 100%)}
[data-theme="sky"] .featured-works-section .section-title::before{background:#6AA4CB}
[data-theme="sky"] .featured-genre-tabs .genre-tab.active{background:#6AA4CB; border-color:#6AA4CB; color:#fff}
[data-theme="sky"] .featured-genre-tabs .genre-tab:hover{border-color:rgba(106,164,203,.6); color:#fff}
[data-theme="sky"] .fc-arrow{background:rgba(106,164,203,.85); border-color:rgba(255,255,255,.3)}
[data-theme="sky"] .fc-arrow:hover{background:#6AA4CB; opacity:1}
[data-theme="sky"] .fc-counter{background:rgba(106,164,203,.4)}
[data-theme="sky"] .fc-card{box-shadow:0 8px 32px rgba(0,0,0,.4)}

/* 작품 & 소식 */
[data-theme="sky"] .works-tab .nav-link:hover{color:#6AA4CB}
[data-theme="sky"] .works-tab .nav-link.active{background:#6AA4CB; color:#fff}
[data-theme="sky"] .work-card:hover{box-shadow:0 12px 32px rgba(106,164,203,.18)}
[data-theme="sky"] .btn-more-news:hover{border-color:#6AA4CB; color:#6AA4CB; background:rgba(106,164,203,.05)}
[data-theme="sky"] .badge-works{background:#E0EDF5; color:#4D8BB5}

/* 핵심 가치 - 원형 뱃지 */
[data-theme="sky"] .value-badge-icon{background:linear-gradient(135deg,#6AA4CB 0%,#4D8BB5 100%); box-shadow:0 12px 32px rgba(106,164,203,.35)}
[data-theme="sky"] .value-badge-card:hover .value-badge-icon{box-shadow:0 20px 44px rgba(106,164,203,.5)}
[data-theme="sky"] .value-badge-card h5{color:#1A2E4A}

/* 레이블 소개 */
[data-theme="sky"] .label-intro-card{box-shadow:0 2px 12px rgba(106,164,203,.1)}
[data-theme="sky"] .label-intro-card:hover{box-shadow:0 18px 40px rgba(106,164,203,.22)}
[data-theme="sky"] .label-intro-card h5{color:#1A2E4A}

/* 레이블 쇼케이스 */

/* 투고안내 - 레이블 카드, 투고 장르 btn */
[data-theme="sky"] .btn-outline-dark{border-color:#6AA4CB; color:#6AA4CB}
[data-theme="sky"] .btn-outline-dark:hover{background:#6AA4CB; border-color:#6AA4CB; color:#fff}

/* 투고 절차 타임라인 */
[data-theme="sky"] .timeline-step .step-icon{background:#6AA4CB; box-shadow:0 8px 20px rgba(106,164,203,.4)}
[data-theme="sky"] .timeline-step .step-num{color:#6AA4CB}
[data-theme="sky"] .timeline-step:not(:last-child)::after{background:rgba(106,164,203,.35)}
[data-theme="sky"] .timeline-step h6{color:#1A2E4A}

/* FAQ */
[data-theme="sky"] .faq-accordion .accordion-button:not(.collapsed){background:#F0F6FA; color:#1A2E4A; border-left-color:#6AA4CB}
[data-theme="sky"] .faq-accordion .accordion-collapse.show .accordion-body{background:#F8FBFD; border-left-color:#6AA4CB}

/* 제출양식 아이콘 */
[data-theme="sky"] .submission-format-card h5 i{color:#6AA4CB!important}

/* 제휴문의 CTA */
[data-theme="sky"] .inquiry-cta{background:linear-gradient(135deg,#6AA4CB 0%,#4D8BB5 100%); color:#fff; box-shadow:0 12px 32px rgba(106,164,203,.3)}
[data-theme="sky"] .inquiry-cta .btn-inquiry{background:#fff; border-color:#fff; color:#4D8BB5}
[data-theme="sky"] .inquiry-cta .btn-inquiry:hover{background:#F0F6FA; color:#1A2E4A; opacity:1}

/* 파트너 (앱 아이콘) */
[data-theme="sky"] .partner-item:hover .partner-item-logo{
    box-shadow:
        0 2px 4px rgba(106,164,203,.18),
        0 14px 28px rgba(106,164,203,.3);
}
[data-theme="sky"] .partner-item-name{color:#4D6B87}

/* 지도 */
[data-theme="sky"] .map-section{background:linear-gradient(180deg,#F0F6FA 0%,#FCFDFE 100%)}
[data-theme="sky"] #kakaoMap{box-shadow:0 8px 32px rgba(106,164,203,.2)!important; border:1px solid rgba(106,164,203,.2)}

/* 푸터 */
[data-theme="sky"] .public-footer{background:linear-gradient(180deg,#0F1C32 0%,#060B1E 100%)!important}
[data-theme="sky"] .btn-brand{background:#6AA4CB; border-color:#6AA4CB; color:#fff}
[data-theme="sky"] .btn-brand:hover{background:#4D8BB5; border-color:#4D8BB5; color:#fff}

/* ============================================================
   남색(Navy) 테마 — "Premium · Deep · Luxurious"
   컨셉: 깊은 밤하늘. 프리미엄 · 프레스티지.
   ============================================================ */
/* 네비/헤더 */
[data-theme="navy"] body{background:#FAFAFB}
[data-theme="navy"] .public-navbar{border-bottom:1px solid #2A3F6E; box-shadow:0 2px 12px rgba(0,0,0,.15)}
[data-theme="navy"] .btn-login-gnb{letter-spacing:.05em}

/* 섹션 공통 */
[data-theme="navy"] .section-title{color:#0A122D; font-weight:500}
[data-theme="navy"] .section-subtitle{color:#3A4358}
[data-theme="navy"] .bg-brand-light{background:linear-gradient(180deg,#F7F5F0 0%,#EFECE4 100%)!important}

/* 히어로 */
[data-theme="navy"] .hero-section{background:linear-gradient(135deg,#F4F5F8 0%,#DDE0EA 100%); border-bottom:1px solid rgba(10,18,45,.15)}
[data-theme="navy"] .hero-section h1{color:#0A122D}
[data-theme="navy"] .hero-section p{color:#3A4358}
[data-theme="navy"] .hero-section .btn-hero{background:#0A122D; border-color:#0A122D; color:#fff; letter-spacing:.05em; box-shadow:0 4px 16px rgba(10,18,45,.25)}
[data-theme="navy"] .hero-section .btn-hero:hover{background:#060B1E; border-color:#060B1E; opacity:1}

/* 회사소개 히어로 */
[data-theme="navy"] .about-hero-banner{background:linear-gradient(135deg,#060B1E 0%,#1A2555 100%) center/cover no-repeat}
[data-theme="navy"] .about-hero-banner.has-bg .ahb-inner{background:transparent}
[data-theme="navy"] .ahb-text h1{text-shadow:0 2px 12px rgba(0,0,0,.4)}
[data-theme="navy"] .ahb-stat strong{color:#C5A572}
[data-theme="navy"] .about-intro-text{color:#3A4358}

/* 대표 작품 */
[data-theme="navy"] .featured-works-section{background:linear-gradient(180deg,#060B1E 0%,#0A122D 100%)}
[data-theme="navy"] .featured-works-section .section-title::before{background:#C5A572}
[data-theme="navy"] .featured-genre-tabs .genre-tab.active{background:#fff; border-color:#fff; color:#0A122D; font-weight:600}
[data-theme="navy"] .fc-card{box-shadow:0 12px 40px rgba(0,0,0,.6)}
[data-theme="navy"] .fc-counter{background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.2)}

/* 작품 & 소식 */
[data-theme="navy"] .works-tab .nav-link:hover{color:#0A122D}
[data-theme="navy"] .works-tab .nav-link.active{background:#0A122D; color:#fff; letter-spacing:.05em}
[data-theme="navy"] .work-card:hover{box-shadow:0 12px 32px rgba(10,18,45,.2)}
[data-theme="navy"] .btn-more-news{letter-spacing:.05em}
[data-theme="navy"] .btn-more-news:hover{border-color:#0A122D; color:#0A122D; background:rgba(10,18,45,.04)}

/* 핵심 가치 - 원형 뱃지 */
[data-theme="navy"] .value-badge-icon{background:linear-gradient(135deg,#0A122D 0%,#1A2555 100%); color:#C5A572; box-shadow:0 12px 32px rgba(10,18,45,.3); border:2px solid #C5A572}
[data-theme="navy"] .value-badge-card:hover .value-badge-icon{box-shadow:0 20px 48px rgba(10,18,45,.4)}
[data-theme="navy"] .value-badge-card h5{color:#0A122D}

/* 레이블 소개 */
[data-theme="navy"] .label-intro-card{box-shadow:0 2px 14px rgba(10,18,45,.08)}
[data-theme="navy"] .label-intro-card:hover{box-shadow:0 20px 44px rgba(10,18,45,.18)}
[data-theme="navy"] .label-intro-card h5{color:#0A122D}

/* 레이블 쇼케이스 */

/* 투고안내 - btn */
[data-theme="navy"] .btn-outline-dark{border-color:#0A122D; color:#0A122D}
[data-theme="navy"] .btn-outline-dark:hover{background:#0A122D; border-color:#0A122D; color:#fff}

/* 투고 절차 타임라인 */
[data-theme="navy"] .timeline-step .step-icon{background:#0A122D; box-shadow:0 8px 22px rgba(10,18,45,.35); border:1px solid rgba(197,165,114,.4)}
[data-theme="navy"] .timeline-step .step-num{color:#C5A572}
[data-theme="navy"] .timeline-step:not(:last-child)::after{background:rgba(10,18,45,.2)}
[data-theme="navy"] .timeline-step h6{color:#0A122D}

/* FAQ */
[data-theme="navy"] .faq-accordion .accordion-button:not(.collapsed){background:#F4F5F8; color:#0A122D; border-left-color:#0A122D}
[data-theme="navy"] .faq-accordion .accordion-collapse.show .accordion-body{background:#FAFAFC; border-left-color:#0A122D}

/* 제출양식 아이콘 */
[data-theme="navy"] .submission-format-card h5 i{color:#0A122D!important}

/* 제휴문의 CTA */
[data-theme="navy"] .inquiry-cta{background:linear-gradient(135deg,#0A122D 0%,#1A2555 100%); color:#fff; box-shadow:0 16px 48px rgba(10,18,45,.35); border:1px solid rgba(255,255,255,.08)}
[data-theme="navy"] .inquiry-cta .btn-inquiry{background:#C5A572; border-color:#C5A572; color:#0A122D; font-weight:700; letter-spacing:.05em}
[data-theme="navy"] .inquiry-cta .btn-inquiry:hover{background:#B39460; border-color:#B39460; opacity:1}

/* 파트너 (앱 아이콘) */
[data-theme="navy"] .partner-item:hover .partner-item-logo{
    box-shadow:
        0 2px 6px rgba(10,18,45,.18),
        0 16px 32px rgba(10,18,45,.25);
}
[data-theme="navy"] .partner-item-name{color:#3A4358}

/* 지도 */
[data-theme="navy"] .map-section{background:linear-gradient(180deg,#EAECF2 0%,#FAFAFB 100%)}
[data-theme="navy"] #kakaoMap{box-shadow:0 12px 40px rgba(10,18,45,.2)!important; border:1px solid rgba(10,18,45,.12)}

/* 푸터 */
[data-theme="navy"] .public-footer{background:#060B1E!important; border-top:1px solid #1A2555}
[data-theme="navy"] .btn-brand{background:#0A122D; border-color:#0A122D; color:#fff; letter-spacing:.05em}
[data-theme="navy"] .btn-brand:hover{background:#060B1E; border-color:#060B1E; color:#fff}

/* ---------- 메인 ---------- */
.public-main{padding-top:64px}

/* ---------- 섹션 공통 (출판사 편집디자인 스타일) ---------- */
.section-padding{padding:72px 0}
.section-title{
    font-family:'Pretendard',sans-serif;
    font-size:var(--fs-display-md); font-weight:500; letter-spacing:.02em; text-transform:none;
    color:#1A1A1A; margin-bottom:.6rem; line-height:1.25;
}
.section-title::after{display:none}
.section-subtitle{
    font-family:'Pretendard',sans-serif; font-style:italic;
    color:#6B7280; font-size:var(--fs-body-md); margin-bottom:2.5rem; letter-spacing:.01em;
}
.bg-brand-light{background:var(--section-alt)!important}

/* ---------- 히어로 (투고안내 등) ---------- */
.hero-section{
    background:#fff; color:#222; padding:100px 0; text-align:center;
    border-bottom:1px solid #f0f0f0;
}
.hero-section h1{
    font-family:'Pretendard',sans-serif;
    font-size:var(--fs-display-xl); font-weight:500; color:#1A1A1A; letter-spacing:-.01em; line-height:1.25;
}
.hero-section p{font-size:var(--fs-body-lg); color:#4D5769; font-family:'Pretendard',sans-serif; font-style:italic}
.hero-section .btn-hero{
    background:#222; border-color:#222; color:#fff;
    font-weight:500; padding:.55rem 2rem; border-radius:4px;
    transition:opacity .2s;
}
.hero-section .btn-hero:hover{opacity:.8}

/* ---------- 대표 작품 캐러셀 ---------- */
.featured-works-section{
    padding:50px 0 60px; background:var(--featured-bg); overflow:hidden;
}
.featured-works-section .section-title{color:#fff}
.featured-works-section .section-subtitle{color:rgba(255,255,255,.7)}

.featured-genre-tabs{display:flex; justify-content:center; gap:6px; flex-wrap:wrap; margin-bottom:2.5rem}
.featured-genre-tabs .genre-tab{
    background:transparent; border:1px solid rgba(255,255,255,.3);
    color:rgba(255,255,255,.75); padding:.35rem 1.2rem;
    border-radius:4px; font-size:var(--fs-body-sm); font-weight:500;
    cursor:pointer; transition:all .2s; letter-spacing:.02em; text-transform:uppercase;
}
.featured-genre-tabs .genre-tab:hover{border-color:rgba(255,255,255,.6); color:#fff}
.featured-genre-tabs .genre-tab.active{background:#fff; border-color:#fff; color:#222}

/* 대표 작품 캐러셀 (세로 표지 중앙 강조) */
.featured-carousel{position:relative; height:560px; overflow:hidden; margin:0 auto; max-width:1200px}
.fc-track{position:relative; height:100%; touch-action:pan-y}
.fc-slide{position:absolute; top:0; left:50%; height:100%; will-change:transform,opacity; cursor:pointer}
.fc-card{display:block; height:100%; position:relative; overflow:hidden; border-radius:12px; text-decoration:none; background:#0F1C32}
.fc-card img{width:100%; height:100%; object-fit:cover; user-select:none; opacity:0; transition:opacity .4s ease}
.fc-card img.loaded{opacity:1}
.fc-overlay{position:absolute; bottom:0; left:0; right:0; height:45%;
    background:linear-gradient(transparent 0%,rgba(0,0,0,.6) 70%,rgba(0,0,0,.75) 100%); pointer-events:none}
.fc-info{position:absolute; bottom:0; left:0; right:0; padding:16px 20px; color:#fff; pointer-events:none; text-align:center}
.fc-genre{display:inline-block; font-size:var(--fs-micro); font-weight:500; letter-spacing:.06em; text-transform:uppercase;
    color:rgba(255,255,255,.85); margin-bottom:4px}
.fc-title{display:block; font-family:'Pretendard',sans-serif; font-size:var(--fs-heading-md); font-weight:600; line-height:1.3; margin-bottom:3px; letter-spacing:-.01em}
.fc-author{display:block; font-size:var(--fs-caption); color:rgba(255,255,255,.75); font-style:italic}
.fc-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:10;
    width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
    background:rgba(0,0,0,.6); color:#fff; font-size:1.2rem;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    opacity:.8; transition:opacity .2s}
.fc-arrow:hover{opacity:1; background:rgba(0,0,0,.8)}
.fc-prev{left:24px} .fc-next{right:24px}
.fc-counter{position:absolute; top:16px; right:16px; z-index:10;
    background:rgba(0,0,0,.4); color:#fff; font-size:var(--fs-micro); font-weight:600;
    padding:2px 10px; border-radius:100px}

/* ---------- 작품 카드 (그리드) ---------- */
.work-card{
    border:none; border-radius:6px; overflow:hidden;
    transition:transform .3s, box-shadow .3s; cursor:pointer; color:#222; height:100%; background:#fff;
}
.work-card:hover{transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.08); color:#222}
.work-card .card-img-wrap{overflow:hidden; aspect-ratio:2/3; background:#f5f5f5}
.work-card .card-img-top{width:100%; height:100%; object-fit:cover; transition:transform .4s}
.work-card:hover .card-img-top{transform:scale(1.04)}
.work-card .card-body{padding:.9rem .7rem}
.work-card .card-title{
    font-family:'Pretendard',sans-serif;
    font-size:var(--fs-heading-xs); font-weight:600; margin-bottom:.25rem;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.4; color:#1A1A1A; letter-spacing:-.01em}
.work-card .card-text-preview{
    font-size:var(--fs-caption); color:#6B7280; margin-bottom:.4rem;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5}
.work-card .card-meta{display:flex; gap:.5rem; font-size:var(--fs-micro); color:#8891A0}
.work-card .card-meta i{margin-right:1px}
.work-card .card-img-placeholder{aspect-ratio:2/3; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.8rem; font-weight:700}

/* 뱃지 */
.wk-badge{font-size:var(--fs-micro); font-weight:500; padding:.12rem .45rem; border-radius:3px; display:inline-block}
.badge-works{background:#e8f5e9; color:#2e7d32} .badge-illust{background:#e3f2fd; color:#1565c0}
.badge-event{background:#fce4ec; color:#c62828} .badge-publish{background:#fff8e1; color:#f57f17}
.badge-news{background:#f3e5f5; color:#7b1fa2} .badge-notice{background:#eceff1; color:#455a64}
.badge-new{background:#ff5252; color:#fff; font-weight:700; animation:newPulse 2s ease-in-out infinite}
@keyframes newPulse{0%,100%{opacity:1} 50%{opacity:.65}}

.works-tab .nav-link{
    color:#6B7280; font-weight:500; border:none; padding:.4rem 1rem;
    border-radius:4px; font-size:var(--fs-body-sm); transition:all .2s; letter-spacing:.02em; text-transform:uppercase}
.works-tab .nav-link:hover{color:#1A1A1A}
.works-tab .nav-link.active{background:#222; color:#fff}
.btn-more-news{
    display:inline-block; padding:.55rem 2.5rem; border-radius:4px;
    border:1px solid #C9CDD4; color:#4D5769; font-weight:500; font-size:var(--fs-body-sm);
    background:transparent; transition:all .2s; cursor:pointer}
.btn-more-news:hover{border-color:#222; color:#222}

/* ---------- 투고 ---------- */
.timeline-steps{display:flex; justify-content:center; gap:0; flex-wrap:wrap}
.timeline-step{text-align:center; position:relative; flex:1; min-width:140px; max-width:220px; padding:0 8px}
.timeline-step .step-num{
    display:block; font-family:'Pretendard',sans-serif; font-weight:500;
    font-size:var(--fs-caption); letter-spacing:.2em; color:#6B7280;
    margin-bottom:.6rem; text-transform:uppercase;
}
.timeline-step .step-num::before{content:'STEP '}
.timeline-step .step-icon{
    width:64px; height:64px; border-radius:50%; background:#1A1A1A;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:1.5rem; color:#fff; margin-bottom:.8rem; position:relative; z-index:1;
}
.timeline-step h6{font-family:'Pretendard',sans-serif; font-weight:600; margin-bottom:.15rem; font-size:var(--fs-heading-sm); color:#1A1A1A; letter-spacing:-.01em}
.timeline-step:not(:last-child)::after{
    content:''; position:absolute; top:62px; right:-8px; width:calc(100% - 64px); height:1px; background:#D1D5DB; z-index:0}

.submission-genre-card{border-radius:6px; transition:transform .3s, box-shadow .3s}
.submission-genre-card:hover{transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.08)}
.submission-genre-img{position:relative; overflow:hidden}
.submission-genre-img img{width:100%; height:280px; object-fit:cover; display:block; transition:transform .4s}
.submission-genre-card:hover .submission-genre-img img{transform:scale(1.04)}
.submission-genre-overlay{position:absolute; bottom:0; left:0; right:0; padding:.8rem;
    background:linear-gradient(transparent,rgba(0,0,0,.5)); text-align:center}

.faq-accordion .accordion-button{font-weight:500; color:#555; background:#fafafa; font-size:var(--fs-body-md); border-left:3px solid transparent; transition:all .2s}
.faq-accordion .accordion-button:not(.collapsed){background:#f0f4ff; color:#222; font-weight:600; box-shadow:none; border-left:3px solid var(--brand-primary)}
.faq-accordion .accordion-button:focus{box-shadow:none}
.faq-accordion .accordion-collapse.show .accordion-body{background:#f8faff; border-left:3px solid var(--brand-primary); border-bottom-left-radius:6px}

/* ---------- 회사소개 히어로 배너 ---------- */
.about-hero-banner{
    position:relative; overflow:hidden; margin-top:-64px;
    background:#262630 url('/static/assets/images/about_hero_banner.png') center/cover no-repeat;
}
.about-hero-banner .ahb-inner{background:transparent}
.about-hero-banner.has-bg .ahb-inner{background:transparent}

/* 테마별 로고 자동 스왑 유틸 */
.theme-show-sky, .theme-show-navy{display:none}
[data-theme="sky"] .theme-show-sky{display:revert}
[data-theme="navy"] .theme-show-navy{display:revert}
.ahb-inner{
    min-height:100vh; display:flex; align-items:center;
}
.ahb-inner:not([class*="ahb-inner-pos-"]){padding:0 0 0 8%}
.ahb-text{ max-width:420px; }
.ahb-logo{ height:52px; margin-bottom:1.5rem; }
.ahb-text h1{
    font-family:'Pretendard',sans-serif;
    font-size:var(--fs-display-lg); font-weight:500; color:#fff;
    line-height:1.25; letter-spacing:-.01em; margin-bottom:1rem;
}
.ahb-text p{
    font-family:'Pretendard',sans-serif; font-style:italic;
    font-size:var(--fs-body-md); color:rgba(255,255,255,.82); margin-bottom:.5rem; letter-spacing:.01em;
}
.ahb-stat{
    font-size:var(--fs-body-sm); color:rgba(255,255,255,.7); margin-top:1.2rem;
    letter-spacing:.03em;
}
.ahb-stat strong{ color:#fff; font-family:'Pretendard',sans-serif; font-size:var(--fs-display-sm); font-weight:600; }
.about-intro-text{font-size:var(--fs-body-lg); line-height:2; color:#3A4358; font-family:'Pretendard',sans-serif; letter-spacing:.01em}

/* SSR 렌더링: 텍스트 즉시 노출, 플래시 없음 */
.ahb-text.ahb-ready{opacity:1}

/* 히어로 배너 위치 옵션 (관리자에서 편집) */
.ahb-inner-pos-left{justify-content:flex-start; padding-left:8%; padding-right:0}
.ahb-inner-pos-center{justify-content:center; padding-left:5%; padding-right:5%; text-align:center}
.ahb-inner-pos-right{justify-content:flex-end; padding-left:0; padding-right:8%}
.ahb-inner-pos-center .ahb-text{text-align:center}
.ahb-inner-pos-right .ahb-text{text-align:right}

/* 수직 정렬 */
.ahb-inner-valign-top{align-items:flex-start; padding-top:18vh}
.ahb-inner-valign-middle{align-items:center}
.ahb-inner-valign-bottom{align-items:flex-end; padding-bottom:15vh}

/* 로고 정렬 */
.ahb-logo-pos-left{margin-left:0; margin-right:auto; display:block}
.ahb-logo-pos-center{margin-left:auto; margin-right:auto; display:block}
.ahb-logo-pos-right{margin-left:auto; margin-right:0; display:block}

/* 핵심 가치 - 원형 뱃지 카드 */
.value-badge-card{text-align:center; padding:2rem 1.2rem; height:100%}
.value-badge-icon{
    width:128px; height:128px; border-radius:50%; margin:0 auto 1.5rem;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:2.6rem; color:#fff; background:#1A1A1A;
    box-shadow:0 12px 32px rgba(0,0,0,.12); transition:transform .35s ease, box-shadow .35s ease;
}
.value-badge-card:hover .value-badge-icon{transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.18)}
.value-badge-card h5{
    font-family:'Pretendard',sans-serif; font-weight:700; font-size:var(--fs-heading-lg);
    color:#1A1A1A; letter-spacing:-.01em; margin-bottom:.7rem;
}
.value-badge-card p{
    color:#4D5769; font-size:var(--fs-body-md); line-height:1.8; margin:0 auto; max-width:320px;
}

/* 레이블 소개 - 로고 + 한줄 설명 3열 */
.label-intro-card{
    text-align:center; padding:2.4rem 1.5rem; border-radius:10px;
    background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.05); height:100%;
    transition:transform .3s ease, box-shadow .3s ease;
}
.label-intro-card:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.1)}
.label-intro-logo{
    height:96px; display:flex; align-items:center; justify-content:center; margin-bottom:1.4rem;
}
.label-intro-logo img{max-height:72px; max-width:200px; object-fit:contain}
.label-intro-card h5{
    font-family:'Pretendard',sans-serif; font-weight:700; font-size:var(--fs-heading-md);
    color:#1A1A1A; letter-spacing:-.01em; margin-bottom:.35rem;
}
.label-intro-card p{
    color:#4D5769; font-size:var(--fs-body-md); margin:0;
    font-family:'Pretendard',sans-serif; font-style:italic;
}

/* 파트너 플랫폼 - 앱 아이콘 스타일 그리드 */
.partners-grid{
    display:grid; grid-template-columns:repeat(5,1fr); gap:28px 22px;
    max-width:920px; margin:0 auto;
}
.partner-item{
    display:flex; flex-direction:column; align-items:center; gap:12px;
}
.partner-item-logo{
    width:100%; max-width:88px; aspect-ratio:1;
    border-radius:22.5%; overflow:hidden;
    display:block; background:transparent;
    box-shadow:
        0 1px 2px rgba(0,0,0,.08),
        0 6px 16px rgba(0,0,0,.12);
    transition:transform .25s ease, box-shadow .25s ease;
}
.partner-item:hover .partner-item-logo{
    transform:translateY(-4px) scale(1.05);
    box-shadow:
        0 2px 4px rgba(0,0,0,.1),
        0 14px 28px rgba(0,0,0,.18);
}
.partner-item-logo img{
    width:100%; height:100%; object-fit:cover; display:block;
}
.partner-item-name{
    font-size:var(--fs-body-sm); color:#4D5769; font-weight:500;
    text-align:center; letter-spacing:-.01em; line-height:1.3;
}
@media(max-width:991.98px){
    .partners-grid{grid-template-columns:repeat(4,1fr); gap:24px 16px}
    .partner-item-logo{max-width:76px}
}
@media(max-width:575.98px){
    .partners-grid{grid-template-columns:repeat(3,1fr); gap:20px 12px}
    .partner-item-logo{max-width:68px; border-radius:22%}
    .partner-item-name{font-size:var(--fs-caption)}
}

/* 제휴문의 */
.inquiry-cta{background:#222; color:#fff; border-radius:8px; padding:3rem}
.inquiry-cta h1,.inquiry-cta h2,.inquiry-cta h3,.inquiry-cta h4,.inquiry-cta h5,.inquiry-cta h6{color:#fff}
.inquiry-cta .btn-inquiry{
    background:#fff; border-color:#fff; color:#222; font-weight:600; padding:.55rem 2rem;
    border-radius:4px; transition:opacity .2s}
.inquiry-cta .btn-inquiry:hover{opacity:.8}

.submission-format-card{border:none; border-radius:8px; box-shadow:0 1px 8px rgba(0,0,0,.04); padding:2.5rem}
.submission-format-card h5{font-family:'Pretendard',sans-serif; font-size:var(--fs-heading-md); font-weight:600; color:#1A1A1A; letter-spacing:-.01em}
.submission-format-card ul{font-size:var(--fs-body-md); line-height:2.3; color:#3A4358}

/* ---------- 푸터 ---------- */
.public-footer a{text-decoration:none; transition:opacity .2s}
.public-footer a:hover{opacity:.7!important}
.btn-brand{background:#222; border-color:#222; color:#fff}
.btn-brand:hover{opacity:.8; background:#222; border-color:#222; color:#fff}

/* 스크롤 애니메이션 */
.fade-up{opacity:0; transform:translateY(20px); transition:opacity .5s ease, transform .5s ease}
.fade-up.visible{opacity:1; transform:translateY(0)}

/* 테마 토글 */
.theme-toggle{
    position:fixed; bottom:16px; right:16px; z-index:9999;
    display:flex; gap:4px; background:#fff; padding:4px 8px;
    border-radius:4px; box-shadow:0 2px 8px rgba(0,0,0,.15); border:1px solid #D1D5DB}
.theme-toggle-btn{width:24px; height:24px; border-radius:4px; border:2px solid #C9CDD4; cursor:pointer; transition:border-color .2s}
.theme-toggle-btn:hover{border-color:#4D5769}
.theme-toggle-btn.active{border-color:#222; border-width:2px}
.theme-toggle-btn.sky{background:#6AA4CB} .theme-toggle-btn.navy{background:#0A122D}
.theme-toggle-label{font-size:var(--fs-micro); color:#6B7280; align-self:center; font-weight:500}

/* ---------- 반응형 ---------- */
@media(max-width:991.98px){
    .hero-section{padding:80px 0}
    .section-padding{padding:48px 0}
    .timeline-steps{flex-direction:column; align-items:center}
    .timeline-step{max-width:100%; margin-bottom:1rem}
    .timeline-step:not(:last-child)::after{display:none}
    .ahb-inner{min-height:70vh}
    .featured-carousel{height:480px}
}
@media(max-width:767.98px){
    .featured-carousel{height:420px}
    .fc-info{padding:12px 14px}
}
@media(max-width:575.98px){
    .section-padding{padding:40px 0}
    .public-navbar .navbar-brand img{height:48px}
    .featured-carousel{height:360px}
    .fc-arrow{width:32px; height:32px; font-size:1rem}
    .fc-prev{left:6px} .fc-next{right:6px}
    .submission-format-card{padding:1.5rem} .inquiry-cta{padding:1.5rem}
    .ahb-inner{min-height:60vh; padding:80px 5% 40px;
        background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 50%,transparent 80%)}
    .ahb-logo{height:40px}
    .theme-toggle{bottom:8px; right:8px}
}
