@charset "utf-8";

/* B.A Technology / p=69 — Sulwhasoo editorial composition */
.ba69 {
    --ba-ink: #000;
    --ba-copy: #000;
    --ba-line: #d7d4ce;
    width: 100%; max-width: none; margin: 0; padding: 0; overflow: hidden;
    color: var(--ba-ink); background: #fff; word-break: keep-all;
    font-family: 'outfit',"Noto Sans KR", sans-serif;
    line-height: 1;
}
.ba69 *, .ba69 *::before, .ba69 *::after { box-sizing: border-box; }
.ba69 img, .ba69 video, .ba69 picture { display: block; width: 100%; }
/* AOS zoom-out 시작 배율을 이 페이지에서만 1.1로 조정 */
html:not(.no-js) .ba69 [data-aos="zoom-out"]:not(.aos-animate) { -webkit-transform: scale(1.1); transform: scale(1.1); }
.ba69-main { background: #fff; }
.ba69-center { text-align: center; }
.ba69-pc { display: inline; }
.ba69-mobile { display: none; }
.ba69-lead { margin: 0 0 12px; font-size: 24px; font-weight: 500; line-height: 1; letter-spacing: 0; }

/* 페이지 typography: line-height는 글자 크기와 같게, vline 사이 간격은 13px */
.ba69 .vline { display: block; margin-top: 0; }
.ba69 .vline + .vline { margin-top: 13px; }
/* 줄 분리 JS 미적용 시 의도적인 줄 단위 요소 간격도 11px로 맞춘다. */
.ba69-hero__subtitle span + span,
.ba69-feature__copy h2 span + span,
.ba69-fullvisual--order h2 span + span,
.ba69-fullvisual--harmony h2 span + span,
.ba69-program__heading h2 span + span,
.ba69-copy-line + .ba69-copy-line { margin-top: 11px; }
.ba69-fullvisual--maintenance h2 > .vline + .vline,
.ba69-fullvisual--maintenance h2 span + span { margin-top: 32px; }

/* Outfit 굵기: 부모보다 50 낮춤(제목 부모 500→450, 본문 부모 400→350은 공통 기본값) */
.ba69-editorial__copy h2 em.outfit,
.ba69-feature__copy h2 em.outfit,
.ba69-fullvisual--order h2 em.outfit,
.ba69-program__copy h2 em.outfit,
.ba69-fullvisual--maintenance h2 em.outfit { font-weight: 450; }
.ba69-lead em.outfit { font-weight: 450; }
.ba69-hero .go-section_title em.outfit { font-size: 39px; font-weight: 400; }

/* Desktop image height/width ratios for 01, 02, 03, 04, 07, 10 are set below. */
.ba69-hero { position: relative; overflow: hidden; color: #000; background: #fff; text-align: center; }
/* 01 — 42페이지 첫번째 영역과 같은 텍스트 블록 구조(이미지 제거): 상단 정렬 헤더 블록 */
.ba69-hero .go-section_header { padding-top: 113px; margin-bottom: 113px; }
.ba69-hero .ln { display: block; line-height: 1; }
.ba69-hero .ln:nth-child(n + 2) { margin-top: 11px; }
@media (min-width: 721px) {
    #header[data-header-variant="image-first"] ~ #container > #sub_cont.ba69 > .ba69-hero {
        height: auto !important;
        aspect-ratio: 1 / 0.53971;
        min-height: 0 !important;
        padding-top: 0 !important;
    }
}
.ba69-hero__media, .ba69-hero__veil { position: absolute; inset: 0; height: 100%; }
.ba69-hero__media img { height: 100%; object-fit: cover; object-position: 50% 50%; }
.ba69-hero__veil { background: linear-gradient(180deg, rgba(0,0,0,.26), rgba(0,0,0,.03) 48%, rgba(0,0,0,.42)); }
@media (min-width: 721px) {
    .ba69-hero__veil { background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.03) 48%, rgba(0,0,0,.42)); }
}
.ba69-hero__content { position: absolute; z-index: 2; top: 15%; left: 50%; width: min(calc(100% - 80px), 980px); transform: translateX(-50%); text-align: center; }
@media (min-width: 721px) {
    .ba69-hero__content { top: 46%; transform: translate(-50%, -50%); }
}
.ba69-hero .go-desc { margin: 0; font-family: "Noto Sans KR", sans-serif; font-size: 20px; font-weight: 500; line-height: 1; letter-spacing: 0; white-space: nowrap; }
.ba69-hero .go-section_title { margin: 32px 0 0; font-size: 36px; font-weight: 400; line-height: 1; letter-spacing: 0; }
.ba69-hero__technology { font-weight: 500; font-size: 36px; }
.ba69-hero .go-desc { color: #000; }
.ba69-hero .go-section_title { color: #000; }
/* 02 — full-screen image feature */
.ba69-feature {
    position: relative;
    /* 2번 영상 섹션: 화면 높이의 108%를 기본으로 하되, 창 높이가 낮아도 예전 값(995px)보다 작아지지 않게 1080px을 하한으로 둔다 */
    height: 108vh;
    height: max(108svh, 1080px);
    height: max(108dvh, 1080px);
    min-height: 0;
    overflow: visible;
    color: #fff;
    background: #122b2b;
}
@media (min-width: 721px) {
    .ba69-feature {
        width: 100vw;
        height: auto;
        aspect-ratio: 1 / 0.53971;
        margin-left: calc(50% - 50vw);
    }
}
.ba69-feature__media,
.ba69-feature__veil { position: absolute; inset: 0; height: 100%; }
.ba69-feature__media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.ba69-feature__veil {
    background: linear-gradient(90deg, rgba(6,22,21,.08) 0%, rgba(6,22,21,.2) 42%, rgba(5,18,18,.7) 100%);
}
.ba69-feature__copy {
    position: absolute;
    z-index: 2;
    color: var(--ba-ink);
    top: 50%;
    right: auto;
    left: 50%;
    width: min(100%, 1920px);
    padding-left: 12.2vw;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    text-align: left;
}
.ba69-feature__copy h2 {
    margin: 0 0 34px;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
}
.ba69-feature__copy h2 span { display: block; }
.ba69-feature__copy > p:not(.ba69-lead) {
    margin: 0;
    color: var(--ba-copy);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}
/* 02 영상 자막 — 표시 레이어의 세로 위치를 영상 프레임 폭 기준 퍼센트로 보정한다. */
#video_69::cue {
    color: #000;
    background-color: transparent;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
}
#video_69::cue(.latin) {
    font-family: "outfit", sans-serif;
    font-weight: 450;
}
#video_69::-webkit-media-text-track-display {
    color: #000 !important;
    background-color: transparent !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    top: 94% !important;
    left: 12.2vw !important;
    text-align: left !important;
}
.ba69-cinematic__subtitle {
    position: absolute;
    top: 84.4%;
    left: 12.2vw;
    z-index: 2;
    width: max-content;
    max-width: calc(100% - 12.2vw);
    padding: 7px 2px;
    border-radius: 3px;
    background-color: transparent;
    color: #000;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    text-align: left;
    white-space: pre-line;
    pointer-events: none;
}
.ba69-cinematic__subtitle .latin {
    font-family: "outfit", sans-serif;
    font-weight: 450;
}

/* 05, 06 */
.ba69-editorial { display: grid; min-height: 820px; grid-template-columns: minmax(0, 55%) minmax(0, 45%); background: #fff; }
.ba69-editorial--reverse { grid-template-columns: minmax(0, 45%) minmax(0, 55%); background: #f8f7f4; }
.ba69-editorial--reverse .ba69-editorial__image { order: 2; }
.ba69-editorial--reverse .ba69-editorial__copy { order: 1; }
.ba69-editorial__image, .ba69-editorial__image picture { height: 100%; overflow: hidden; }
.ba69-editorial__image img { height: 100%; object-fit: cover; transition: transform 1.4s ease; }
.ba69-editorial:hover .ba69-editorial__image img { transform: scale(1.018); }
.ba69-editorial__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 7vw, 135px); }
.ba69-editorial__copy h2 { margin: 0 0 27px; font-size: clamp(33px, 2.35vw, 43px); font-weight: 500; line-height: 1; letter-spacing: 0; }
.ba69-editorial__copy > p:not(.ba69-lead) { margin: 0; color: var(--ba-copy); font-size: 15px; line-height: 1; }
.ba69-editorial__copy > p + p:not(.ba69-lead) { margin-top: 15px; }

/* 05, 06 — text-led editorial columns */
.ba69-care-story {
    --ba69-care-story-columns: 17.7083333% 31.25% 7.8125% 25.8333333% minmax(0, 1fr);
    /* care 카피 상단 간격: care 블록에 padding-top으로 고정해 어느 뷰포트에서든 197px를 보장한다. */
    --ba69-care-gap: 197px;
    /* 1921px+ 구간의 story 자체 padding-top. care 간격에서 차감해 총 261px를 유지한다. */
    --ba69-care-story-pad-top: 0px;
    display: grid;
    grid-template-columns: var(--ba69-care-story-columns);
    grid-template-rows: auto;
    width: calc(100% + var(--ba-sbw, 0px));
    height: auto;
    aspect-ratio: auto;
    min-height: 0;
    margin: 0 0 0 calc(var(--ba-sbw, 0px) / -2);
    padding: var(--ba69-care-story-pad-top) 0 0;
    position: relative;
    background: transparent;
}
/* The care copy flows into the zebra image; the giraffe image flows into the Aether copy. */
@media (min-width: 721px) {
    .ba69-care-story {
        container-type: inline-size;
    }
    .ba69-care-story > .ba69-editorial {
        display: flex;
        grid-row: 1;
        flex-direction: column;
        min-height: auto;
        position: relative;
        background: transparent;
    }
    .ba69-care-story > .ba69-editorial.ba69-editorial--care {
        grid-column: 2;
        align-self: start;
        width: 100%;
        padding-top: calc(var(--ba69-care-gap) - var(--ba69-care-story-pad-top));
    }
    .ba69-care-story > .ba69-editorial.ba69-editorial--aether {
        grid-column: 4;
        align-self: start;
        width: 100%;
        padding-top: 18cqi;
    }
}
.ba69-care-story .ba69-editorial__image,
.ba69-care-story .ba69-editorial__copy { grid-row: 1; align-self: start; }
.ba69-care-story .ba69-editorial__image { height: auto; }
.ba69-care-story .ba69-editorial__image picture { height: 100%; }
.ba69-care-story .ba69-editorial__image { aspect-ratio: auto; }
.ba69-care-story .ba69-editorial__image img { height: 100%; object-fit: cover; }
.ba69-editorial--care .ba69-editorial__copy {
    order: 1;
    margin-bottom: 36px;
    padding: 0;
    text-align: right;
}
.ba69-editorial--care .ba69-editorial__image {
    order: 2;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    margin: 0;
}
.ba69-editorial--aether .ba69-editorial__image {
    order: 1;
    width: 100%;
    height: auto;
    aspect-ratio: 496 / 663;
    margin: 0;
}
.ba69-editorial--aether .ba69-editorial__copy {
    order: 2;
    margin-top: 33px;
    padding: 0;
    text-align: left;
}
@media (min-width: 721px) {
    .ba69-editorial--care .ba69-editorial__copy { grid-row: auto; align-self: auto; }
    .ba69-editorial--care .ba69-editorial__image { grid-row: auto; align-self: auto; }
    .ba69-editorial--aether .ba69-editorial__image { grid-row: auto; align-self: auto; }
    .ba69-editorial--aether .ba69-editorial__copy { grid-row: auto; align-self: auto; }
}
@media (min-width: 721px) and (max-width: 1400px) {
    .ba69-care-story {
        min-height: 0;
        grid-template-rows: auto;
    }
    .ba69-care-story > .ba69-editorial--care {
        align-self: start;
    }
}
.ba69-care-story .ba69-editorial__copy .ba69-lead,
.ba69-care-story .ba69-editorial__copy h2 {
    color: #000;
    letter-spacing: 0;
}
.ba69-care-story .ba69-editorial__copy .ba69-lead {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
}
.ba69-care-story .ba69-editorial__copy h2 {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
}
.ba69-care-story .ba69-editorial__copy .ba69-lead { margin: 0 0 13px; }
.ba69-editorial--aether .ba69-lead { white-space: nowrap; }
.ba69-care-story .ba69-editorial__copy h2 {
    margin: 0 0 36px;
}
.ba69-care-story .ba69-editorial__copy > p:not(.ba69-lead) {
    color: #000;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0;
}
.ba69-care-story .ba69-editorial__copy h2 > .vline { height: 32px; }
.ba69-care-story .ba69-editorial__copy h2 > .vline + .vline { margin-top: 13px; }
.ba69-care-story .ba69-editorial__copy > p.ba69-lead > .vline { height: 32px; }
.ba69-care-story .ba69-editorial__copy > p:not(.ba69-lead) > .vline { height: 20px; }
.ba69-care-story .ba69-editorial__copy > p .ba69-copy-line { height: 20px; }
.ba69-care-story .ba69-editorial__copy > p + p:not(.ba69-lead) { margin-top: 18px; }
@media (min-width: 1921px) {
    .ba69-care-story {
        --ba69-care-story-pad-top: calc(6.875vw + var(--ba-sbw, 0px) * .06875 - 132px);
        height: auto;
        min-height: 0;
        padding-left: calc((100% + var(--ba-sbw, 0px) - 1920px) / 2);
        grid-template-columns: 340px 600px 150px 496px minmax(0, 1fr);
    }
}
.ba69-copy-line { display: block; }
@media (min-width: 1400px) {
    .ba69-copy-line--nowrap-pc { white-space: nowrap; }
}

/* 03 */
.ba69-cinematic { position: relative; height: 100vh; height: 100svh; height: 100dvh; min-height: 0; overflow: visible; color: #fff; background: #111; }
@media (min-width: 721px) {
    .ba69-cinematic[data-section="3"] { height: auto; aspect-ratio: 1 / 0.49974; }
}
.ba69-cinematic__media, .ba69-cinematic__veil { position: absolute; inset: 0; }
.ba69-cinematic__media video { height: 100%; object-fit: cover; object-position: center; }
@media (min-width: 721px) {
    /* Extend the video beyond its clipped frame to prevent subpixel seams on every edge. */
    .ba69-cinematic__media { overflow: hidden; }
    .ba69-cinematic__media video {
        width: calc(100% + 6px);
        height: calc(100% + 2px);
        margin: -1px -3px;
        filter: brightness(1);
    }
}
.ba69-cinematic__veil { background: none; }
.ba69-cinematic__text { position: absolute; z-index: 2; top: 50%; left: 12.5vw; width: min(620px, 50vw); transform: translateY(calc(-50% + 28px)); }
.ba69-cinematic__text.is-visible { transform: translateY(-50%); }
.ba69-cinematic__text h2 { margin: 0; font-size: clamp(28px, 2.15vw, 39px); font-weight: 500; line-height: 1; letter-spacing: 0; }
.ba69-cinematic__text p { margin: 28px 0 0; color: #fff; font-size: 15px; line-height: 1; }

/* 04, 07, 10 — 너비 기반 + 상하한 캡 */
.ba69-fullvisual { position: relative; height: clamp(700px, 49.4792vw, 970px); overflow: hidden; color: #fff; background: #111; }
.ba69-fullvisual__media, .ba69-fullvisual__veil { position: absolute; inset: 0; height: 100%; }
.ba69-fullvisual__media img { height: 100%; object-fit: cover; transition: transform 1.6s ease; }
.ba69-fullvisual:hover .ba69-fullvisual__media img { transform: scale(1.018); }
.ba69-fullvisual__veil { background: linear-gradient(180deg, rgba(4,5,5,.2), rgba(4,5,5,.55)); }
.ba69-fullvisual__copy { position: absolute; z-index: 2; top: 50%; left: 50%; width: min(calc(100% - 80px), 880px); transform: translate(-50%, -50%); }
.ba69-fullvisual--maintenance h2 {
    margin: 0;
    color: var(--ba-ink);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
}
.ba69-fullvisual--maintenance h2 em.outfit { font-size: 36px; font-weight: 450; }
.ba69-fullvisual__copy > p:not(.ba69-lead) { margin: 25px 0 0; color: #fff; font-size: 15px; line-height: 1; }

/* 04 — Sulwhasoo-style image / copy split */
.ba69-fullvisual--order {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 1920px);
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    min-height: 0;
    margin: 0 auto;
    overflow: visible;
    color: var(--ba-ink);
    background: #fff;
}
@media (min-width: 721px) {
    .ba69-fullvisual--order[data-section="4"] { height: auto; }
    .ba69-fullvisual--order[data-section="4"] .ba69-fullvisual__media { height: auto; aspect-ratio: 1 / 1; }
    .ba69-fullvisual--order[data-section="4"] .ba69-fullvisual__media img { height: auto; aspect-ratio: 1 / 1; }
}
.ba69-fullvisual--order .ba69-fullvisual__media {
    position: relative;
    inset: auto;
    height: 100%;
    overflow: hidden;
}
.ba69-fullvisual--order .ba69-fullvisual__media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.ba69-fullvisual--order .ba69-fullvisual__copy {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    width: auto;
    align-items: center;
    padding: 0 0 0 12.4vw;
    transform: none;
    text-align: left;
}
.ba69-fullvisual--order h2 {
    margin: 0 0 34px;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
    letter-spacing: 0;
}
.ba69-fullvisual--order h2 span { display: block; height: 32px; }
.ba69-fullvisual--order h2 > .vline { height: 32px; }
@media (min-width: 721px) {
    .ba69-fullvisual--order h2 {
        font-size: 36px;
        line-height: 36px;
    }
    .ba69-fullvisual--order h2 span,
    .ba69-fullvisual--order h2 > .vline { height: 36px; }
    .ba69-fullvisual--order h2 em.outfit {
        font-size: 39px;
        font-weight: 400;
    }
}
/* 03과 동일한 본문 typography: Noto Sans KR 20px/400, 위 간격은 h2 margin-bottom 34px */
.ba69-fullvisual--order .ba69-fullvisual__copy > div > p:not(.ba69-lead) {
    margin: 0;
    color: var(--ba-copy);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}
/* Noto와 Outfit 혼합 줄의 line box가 34.5px로 늘어나는 것을 막고 32px로 고정 */
.ba69-fullvisual--order .ba69-fullvisual__copy > div > p:not(.ba69-lead) .ba69-copy-line { height: 20px; }
@media (min-width: 721px) {
    .ba69-fullvisual--order .ba69-fullvisual__copy > div > p:not(.ba69-lead) {
        font-size: 32px;
        font-weight: 500;
    }
    .ba69-fullvisual--order .ba69-fullvisual__copy > div > p:not(.ba69-lead) em.outfit {
        font-family: "outfit", sans-serif;
        font-size: 32px;
        font-weight: 450;
    }
    .ba69-fullvisual--order .ba69-fullvisual__copy > div > p:not(.ba69-lead) .ba69-copy-line { height: 32px; }
    .ba69-fullvisual--order .ba69-fullvisual__copy > div > p:not(.ba69-lead) .ba69-copy-line:nth-child(n + 2) { margin-top: 13px; }
}

/* 07 — center-right, left-aligned copy */
.ba69-fullvisual--harmony {
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    margin-top: 200px;
    color: var(--ba-ink);
    background: #fff;
}
.ba69-fullvisual--harmony .ba69-fullvisual__veil { background: transparent; }
@media (min-width: 721px) {
    .ba69-fullvisual--harmony[data-section="7"] { height: auto; aspect-ratio: 1 / 0.49974; }
}
.ba69-fullvisual--harmony .ba69-fullvisual__copy {
    left: 50%;
    width: min(960px, 46vw);
    transform: translateY(-50%);
    text-align: left;
}
.ba69-fullvisual--harmony h2 {
    margin: 0;
    color: var(--ba-ink);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
}
.ba69-fullvisual--harmony .ba69-fullvisual__copy > p:not(.ba69-lead) { font-size: 24px; line-height: 1; }
.ba69-fullvisual--harmony h2 span { display: block; height: 36px; }
.ba69-fullvisual--harmony h2 > .vline { height: 36px; }
@media (min-width: 721px) {
    .ba69-fullvisual--harmony h2 .ba69-harmony-title__ba {
        font-size: 39px;
        font-weight: 400;
    }
}
/* 07 타이틀 줄별 마진탑: 1=클레르가 정의하는(0) / 2=케어의 본질(16) / 3=퍼스널 메디컬 TEAM(16), 4번째 줄부터는 11px를 개별 조정한다. */
.ba69-fullvisual--harmony h2 > .vline:nth-child(1) { margin-top: 0; }
.ba69-fullvisual--harmony h2 > .vline:nth-child(2) { margin-top: 16px; }
.ba69-fullvisual--harmony h2 > .vline:nth-child(3) { margin-top: 16px; }
.ba69-fullvisual--harmony h2 > .vline:nth-child(n + 4) { margin-top: 11px; }
/* 줄분리 JS 미적용 시 span 기준으로 같은 값을 쓴다. */
.ba69-fullvisual--harmony h2 span:nth-of-type(1) { margin-top: 0; }
.ba69-fullvisual--harmony h2 span:nth-of-type(2) { margin-top: 11px; }
.ba69-fullvisual--harmony h2 span:nth-of-type(3) { margin-top: 11px; }
.ba69-fullvisual--harmony h2 span:nth-of-type(n + 4) { margin-top: 11px; }

/* 08, 09 */
.ba69-programs { padding: 197px 0 200px; background: #fff; }
.ba69-program { width: min(calc(100% - 60px), 1224px); margin: 0 auto; }
.ba69-program + .ba69-program { margin-top: 197px; }
.ba69-program__copy { width: min(100%, 680px); margin: 0 auto; }
.ba69-program__copy h2 {
    margin: 0;
    color: var(--ba-ink);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
    letter-spacing: 0;
}
.ba69-program__heading h2 span { display: block; height: 32px; }
.ba69-program__heading h2 > .vline { height: 32px; }
@media (min-width: 721px) {
    .ba69-program__heading h2 span { white-space: nowrap; }
    .ba69-program[data-section="9"] .ba69-program__heading h2 span:first-child {
        position: relative;
        left: 50%;
        width: max-content;
        transform: translateX(-50%);
    }
    .ba69-program[data-section="8"],
    .ba69-program[data-section="9"] {
        display: flex;
        flex-direction: column;
        width: min(calc(100% - 60px), 65.1041667%, 1250px);
    }
    .ba69-program[data-section="8"] .ba69-program__image,
    .ba69-program[data-section="9"] .ba69-program__image {
        width: min(calc(21.875vw + var(--ba-sbw, 0px) * .21875), 420px);
        margin: 115px auto 0;
        aspect-ratio: 420 / 839;
        overflow: visible;
    }
}
.ba69-program__copy > p:not(.ba69-lead) {
    margin: 0;
    margin-top: 36px;
    color: var(--ba-copy);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0;
}
.ba69-program__copy > p:not(.ba69-lead) > .vline { height: 20px; }
.ba69-program__copy > p:not(.ba69-lead) .ba69-copy-line { height: 20px; }
.ba69-program[data-section="8"] .ba69-program__copy > p:not(.ba69-lead) .vline + .vline,
.ba69-program[data-section="9"] .ba69-program__copy > p:not(.ba69-lead) .vline + .vline { margin-top: 11px; }
.ba69-program__image { margin-top: 56px; overflow: hidden; aspect-ratio: 1224 / 882; }
.ba69-program__image img { height: 100%; object-fit: cover; transition: transform 1.4s ease; }
.ba69-program:hover .ba69-program__image img { transform: scale(1.018); }
.ba69-fullvisual--maintenance {
    height: 200vh;
    height: 200svh;
    height: 200dvh;
    color: var(--ba-ink);
    background: #fff;
}
.ba69-fullvisual--maintenance .ba69-fullvisual__copy {
    inset: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto minmax(0, 1.2fr) auto minmax(0, 1fr);
    width: 100%;
    transform: none;
    text-align: center;
}
.ba69-fullvisual--maintenance .ba69-fullvisual__copy > div:first-child { grid-row: 2; }
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom { grid-row: 4; }
.ba69-fullvisual--maintenance .ba69-fullvisual__copy > div:first-child,
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 20px;
}
@media (min-width: 721px) {
    .ba69-fullvisual--maintenance[data-section="10"] { height: auto; aspect-ratio: 1 / 0.8; }
    .ba69-fullvisual--maintenance .ba69-fullvisual__copy > div:first-child,
    .ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom {
        padding: 0 40px;
    }
    .ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom > p { margin: 0; }
}
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom > p + p { margin-top: 11px; }
.ba69-fullvisual--maintenance .ba69-fullvisual__veil { background: transparent; }
.ba69-fullvisual--maintenance h2 span { display: block; height: 32px; }
.ba69-fullvisual--maintenance h2 > .vline { height: 32px; }
.ba69-fullvisual--maintenance h2 > span:first-child,
.ba69-fullvisual--maintenance h2 > .vline:first-child,
.ba69-fullvisual--maintenance h2 > .vline:first-child > span {
    font-size: 20px;
    font-weight: 500;
    line-height: 20px;
    height: 20px;
}
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom > p {
    margin: 0;
    color: var(--ba-ink);
    font-family: "Noto Sans KR", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 20px;
}
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom > p > .vline { height: 20px; }
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom > p > .vline + .vline { margin-top: 11px; }
.ba69-fullvisual--maintenance .ba69-fullvisual__maintenance-bottom > p .ba69-copy-line { height: 20px; }

@media (prefers-reduced-motion: reduce) {
    .ba69 *, .ba69 *::before, .ba69 *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Mobile only. Tablet keeps desktop composition. */
