/* ============================================================
   홈 전용 스타일
   ============================================================ */

/* ---------- Hero ----------
   슬라이드는 transform 이 걸린 트랙이 아니라 절대배치 + 크로스페이드로 전환한다.
   트랙에 transform 을 걸면 그 안의 캡션/화살표가 새 좌표계에 갇혀
   z-index 와 fixed 가 의도대로 동작하지 않는다. */
.hero {
    position: relative;
    min-height: min(760px, calc(100vh - var(--util-h) - var(--header-h)));
    background: var(--ink);
    color: #FFFFFF;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.hero__slides { position: absolute; inset: 0; }

.hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .9s ease;
}

.hero__slide.is-active { opacity: 1; }

.hero__slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(118deg, rgba(255, 255, 255, .055) 0 3px, transparent 3px 22px);
}

.hero__slide--1 {
    background:
        radial-gradient(75% 130% at 78% 22%, rgba(208, 20, 28, .55), transparent 60%),
        linear-gradient(120deg, #101113 0%, #1F2023 58%, #0B0B0C 100%);
}

.hero__slide--2 {
    background:
        radial-gradient(70% 120% at 16% 78%, rgba(208, 20, 28, .42), transparent 62%),
        linear-gradient(135deg, #17181A 0%, #2A2B2E 52%, #0E0E10 100%);
}

.hero__slide--3 {
    background:
        radial-gradient(90% 140% at 50% 0%, rgba(208, 20, 28, .38), transparent 58%),
        linear-gradient(200deg, #1B1C1F 0%, #101113 60%, #000000 100%);
}

.hero__inner { position: relative; z-index: 2; width: 100%; padding-block: 110px 140px; }

.hero__caption { max-width: 820px; }

.hero__eyebrow {
    font-family: var(--font-en);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--brand-hover);
    margin-bottom: 20px;
}

.hero__title {
    font-family: var(--font-en);
    font-size: clamp(38px, 6.2vw, 74px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #FFFFFF;
}

.hero__sub {
    margin-top: 22px;
    font-size: clamp(16px, 1.9vw, 20px);
    line-height: 1.7;
    color: rgba(255, 255, 255, .8);
    max-width: 620px;
}

.hero__actions { margin-top: 38px; display: flex; gap: 12px; flex-wrap: wrap; }

/* 캡션 텍스트만 전환 — 슬라이드 배경과 같은 인덱스로 묶인다. */
.hero__caption[hidden] { display: none !important; }

/* ---------- Hero controls ---------- */
.hero__controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 42px;
    z-index: 3;
}

.hero__controls-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.hero__dots { display: flex; gap: 10px; }

.hero__dot {
    width: 34px;
    height: 3px;
    padding: 0;
    border: 0;
    background: rgba(255, 255, 255, .3);
    cursor: pointer;
    transition: background .2s ease;
}

.hero__dot.is-active { background: var(--brand); }
.hero__dot:hover { background: rgba(255, 255, 255, .6); }

.hero__arrows { display: flex; align-items: center; gap: 8px; }

.hero__arrow {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .35);
    color: #FFFFFF;
    font-size: 16px;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.hero__arrow:hover { background: #FFFFFF; border-color: #FFFFFF; color: var(--ink); }

.hero__counter {
    font-family: var(--font-en);
    font-size: 14px;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .7);
    margin-right: 6px;
}

.hero__counter strong { color: #FFFFFF; font-weight: 700; }

@media (max-width: 768px) {
    .hero { min-height: 560px; }
    .hero__inner { padding-block: 72px 132px; }
    .hero__controls { bottom: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero__slide { transition: none; }
    html { scroll-behavior: auto; }
}

/* ---------- Value strip ---------- */
.values { border-bottom: 1px solid var(--line); }

.values__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.value {
    padding: 44px 34px;
    border-left: 1px solid var(--line);
}

.value:first-child { border-left: 0; }

.value__no {
    font-family: var(--font-en);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--brand);
    margin-bottom: 14px;
}

.value__title { font-size: 20px; font-weight: 700; color: var(--ink); margin-bottom: 10px; }
.value__desc { font-size: 15px; color: var(--muted); line-height: 1.75; }

@media (max-width: 860px) {
    .values__grid { grid-template-columns: minmax(0, 1fr); }
    .value { border-left: 0; border-top: 1px solid var(--line); padding: 32px 0; }
    .value:first-child { border-top: 0; }
}

/* ---------- Notice list on home ---------- */
.home-notices { display: grid; gap: 0; border-top: 2px solid var(--ink); }

.home-notice {
    display: flex;
    align-items: baseline;
    gap: 20px;
    padding: 22px 4px;
    border-bottom: 1px solid var(--line);
}

.home-notice__date {
    font-family: var(--font-en);
    font-size: 14px;
    color: var(--muted-2);
    letter-spacing: .04em;
    flex: 0 0 auto;
    width: 110px;
}

.home-notice__title {
    font-size: 17px;
    font-weight: 600;
    color: var(--ink-2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-notice:hover .home-notice__title { color: var(--brand); }

.home-notice__pin {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    color: var(--brand);
    border: 1px solid var(--brand);
    padding: 1px 8px;
}

@media (max-width: 560px) {
    .home-notice { flex-wrap: wrap; gap: 6px 12px; padding: 18px 2px; }
    .home-notice__date { width: auto; order: 2; }
    .home-notice__title { white-space: normal; width: 100%; order: 1; }
}

.sec-head--split {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
