/* BABIFIT editorial — scoped to #babifit-landing only */
#babifit-landing {
    --bf-bg:#302c2e;
    --bf-rose:#bfafb1;
    --bf-pale:#f0eeef;
    --bf-ink:#302c2e;
    --bf-white:#f7f4f4;
    font-family:'Montserrat','Noto Sans KR',sans-serif;
    background:var(--bf-bg);
    color:var(--bf-white);
    overflow:hidden;
    word-break:keep-all;
}

#babifit-landing * {
    box-sizing:border-box;
}

#babifit-landing h2,#babifit-landing h3,#babifit-landing p {
    margin:0;
}

#babifit-landing a {
    text-decoration:none;
    color:inherit;
}

#babifit-landing button {
    font:inherit;
    cursor:pointer;
}

#babifit-landing em {
    font-style:normal;
    color:var(--bf-rose);
}

#babifit-landing .bf-eyebrow {
    font-size:11px;
    letter-spacing:.28em;
    font-weight:600;
    color:var(--bf-rose);
}

#babifit-landing .bf-btn {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
    padding:19px 26px;
    border-radius:2px;
    background:var(--bf-rose);
    color:var(--bf-ink);
    font-size:13px;
    font-weight:700;
    transition:background .25s,transform .25s;
}

#babifit-landing .bf-btn:hover {
    background:#dedbdd;
    transform:translateY(-3px);
}

#babifit-landing .bf-reveal {
    opacity:0;
    transform:translateY(38px);
    transition:opacity .9s,transform .9s;
}

#babifit-landing .bf-reveal.bf-visible {
    opacity:1;
    transform:none;
}

#babifit-landing .bf-intro {
    height:min(850px,94svh);
    min-height:620px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:#1c1a1b;
}

#babifit-landing .bf-intro-art {
    position:absolute;
    inset:0;
    background:url('/images/common/babi_top00.jpg') center/cover no-repeat;
    filter:saturate(.6);
}

#babifit-landing .bf-intro-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(27,24,26,.83),rgba(27,24,26,.35),rgba(27,24,26,.78));
}

#babifit-landing .bf-intro-content {
    position:relative;
    z-index:1;
    padding:24px;
}

#babifit-landing .bf-outline {
    font-size:clamp(90px,17vw,260px);
    font-weight:800;
    letter-spacing:-.09em;
    line-height:.95;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,255,255,.42);
    margin:26px 0!important;
}

#babifit-landing .bf-intro h2 {
    font-size:clamp(31px,4vw,65px);
    line-height:1.4;
    font-weight:600;
}

#babifit-landing .bf-intro-content>p:not(.bf-outline) {
    margin:20px 0 35px;
    font-size:14px;
    color:#ddd;
}

#babifit-landing .bf-scroll {
    position:absolute;
    bottom:32px;
    left:50%;
    transform:translateX(-50%);
    letter-spacing:.2em;
    font-size:10px;
    color:#ddd;
}

#babifit-landing .bf-marquee {
    padding:18px 0;
    background:var(--bf-rose);
    color:var(--bf-ink);
    overflow:hidden;
    white-space:nowrap;
    font-size:12px;
    letter-spacing:.22em;
    font-weight:700;
}

#babifit-landing .bf-marquee div {
    width:max-content;
    animation:bf-marquee 35s linear infinite;
}

@keyframes bf-marquee {
    to {
        transform:translateX(-50%);
    }

}

#babifit-landing .bf-statement {
    padding:150px 20px;
    text-align:center;
    background:var(--bf-pale);
    color:var(--bf-ink);
}

#babifit-landing .bf-statement>p {
    font-size:16px;
    margin:24px 0;
}

#babifit-landing .bf-statement h2,#babifit-landing .bf-section-head h2,#babifit-landing .bf-recovery h2 {
    font-size:clamp(34px,4.3vw,65px);
    line-height:1.3;
    letter-spacing:-.045em;
}

#babifit-landing .bf-statement em {
    color:#977e83;
}

#babifit-landing .bf-line {
    width:1px;
    height:90px;
    background:#bbaeb0;
    margin:35px auto;
}

#babifit-landing .bf-muted {
    color:#726a6c;
    line-height:1.9!important;
}

#babifit-landing .bf-story {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:650px;
}

#babifit-landing .bf-story-visual {
    overflow:hidden;
    background:#171516;
}

#babifit-landing .bf-story-visual img {
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.6);
}

#babifit-landing .bf-story-text {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:10%;
}

#babifit-landing .bf-story-text h2 {
    font-size:clamp(34px,4vw,65px);
    line-height:1.3;
    margin:28px 0;
}

#babifit-landing .bf-story-text p {
    font-size:15px;
    line-height:2;
    color:#d6cdd0;
    max-width:440px;
}

#babifit-landing .bf-textlink {
    border-bottom:1px solid var(--bf-rose);
    padding-bottom:10px;
    margin-top:40px;
    font-size:14px;
}

#babifit-landing .bf-consult-band {
    background:var(--bf-rose);
    color:var(--bf-ink);
    text-align:center;
    padding:85px 20px;
}

#babifit-landing .bf-consult-band .bf-eyebrow {
    color:#66585b;
}

#babifit-landing .bf-consult-band h2 {
    font-size:clamp(30px,4vw,56px);
    margin:20px 0;
}

#babifit-landing .bf-consult-band p {
    margin-bottom:25px;
}

#babifit-landing .bf-btn-dark {
    background:var(--bf-ink);
    color:white;
}

#babifit-landing .bf-lookbook,#babifit-landing .bf-values,#babifit-landing .bf-ba {
    padding:130px max(24px,calc((100vw - 1320px)/2));
}

#babifit-landing .bf-section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:45px;
}

#babifit-landing .bf-section-head h2 {
    margin-top:22px;
}

#babifit-landing .bf-section-head>p {
    font-size:14px;
    color:#cfc5c7;
}

#babifit-landing .bf-look-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}

#babifit-landing .bf-look {
    height:440px;
    position:relative;
    overflow:hidden;
    background:#51484b;
}

#babifit-landing .bf-look-photo {
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transition:transform .7s;
    filter:saturate(.55);
}

#babifit-landing .bf-look:hover .bf-look-photo {
    transform:scale(1.07);
}

#babifit-landing .bf-look-info {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:22px;
}

#babifit-landing .bf-look-info small,#babifit-landing .bf-look-back small {
    font-size:10px;
    letter-spacing:.16em;
    color:#e0d5d7;
}

#babifit-landing .bf-look-info h3 {
    font-size:26px;
    margin:13px 0;
}

#babifit-landing .bf-look-info p {
    font-size:12px;
    line-height:1.6;
    margin-bottom:16px;
}

#babifit-landing .bf-look-toggle {
    border:1px solid rgba(255,255,255,.6);
    background:transparent;
    color:white;
    padding:10px 12px;
    font-size:11px;
}

#babifit-landing .bf-look-back {
    position:absolute;
    inset:0;
    padding:25px;
    background:#bfafb1;
    color:#302c2e;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:18px;
}

#babifit-landing .bf-look-back[hidden] {
    display:none;
}

#babifit-landing .bf-look-back small {
    color:#61565a;
}

#babifit-landing .bf-look-back h3 {
    font-size:28px;
}

#babifit-landing .bf-look-back p {
    line-height:1.8;
    font-size:13px;
}

#babifit-landing .bf-look-back a {
    font-size:13px;
    text-decoration:underline;
}

#babifit-landing .bf-look-close {
    background:transparent;
    border:0;
    color:#302c2e;
    padding:8px 0;
}

#babifit-landing .bf-manifesto {
    min-height:590px;
    background:linear-gradient(120deg,rgba(23,21,22,.94),rgba(23,21,22,.4)),url('/images/common/babi_top00.jpg') center/cover;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:70px 20px;
    position:relative;
}

#babifit-landing .bf-manifesto h2 {
    font-size:clamp(40px,5.8vw,85px);
    line-height:1.35;
    margin:30px 0;
}

#babifit-landing .bf-manifesto>strong {
    font-size:clamp(80px,18vw,260px);
    letter-spacing:-.09em;
    color:rgba(255,255,255,.06);
    position:absolute;
    bottom:-45px;
}

#babifit-landing .bf-values {
    background:var(--bf-pale);
    color:var(--bf-ink);
}

#babifit-landing .bf-values .bf-section-head em {
    color:#977e83;
}

#babifit-landing .bf-value-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

#babifit-landing .bf-value-grid article {
    padding:34px 26px;
    min-height:245px;
    background:white;
    border-top:3px solid #bfafb1;
}

#babifit-landing .bf-value-grid span {
    font-size:11px;
    letter-spacing:.15em;
    color:#907b80;
}

#babifit-landing .bf-value-grid h3 {
    font-size:23px;
    margin:28px 0 16px;
}

#babifit-landing .bf-value-grid p {
    font-size:14px;
    line-height:1.8;
    color:#70686a;
}

#babifit-landing .bf-ba-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

#babifit-landing .bf-ba-card {
    background:#453e41;
    padding:24px;
}

#babifit-landing .bf-ba-card>span {
    font-size:16px;
    letter-spacing:.16em;
    color:#dfd0d3;
}

#babifit-landing .bf-ba-images {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    /*margin:15px 0;*/
}

#babifit-landing .bf-ba-images>div {
    min-height:260px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    border:1px dashed #918387;
    background:#554d50;
    font-size:15px;
    letter-spacing:.16em;
}

#babifit-landing .bf-ba-images small {
    font-size:11px;
    letter-spacing:0;
    margin-top:10px;
    color:#cfc4c7;
}

#babifit-landing .bf-ba-card>p,#babifit-landing .bf-disclaimer {
    font-size:12px;
    line-height:1.8;
    color:#c5b8bc;
}

#babifit-landing .bf-disclaimer {
    margin-top:25px;
}

#babifit-landing .bf-recovery {
    text-align:center;
    background:#e4dddf;
    color:#302c2e;
    padding:120px 24px;
}

#babifit-landing .bf-recovery em {
    color:#977e83;
}

#babifit-landing .bf-recovery h2 {
    margin:25px 0 55px;
}

#babifit-landing .bf-timeline {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    max-width:1200px;
    margin:auto;
    gap:12px;
}

#babifit-landing .bf-timeline>div {
    border-top:1px solid #9e8b90;
    padding:25px 15px;
    text-align:left;
}

#babifit-landing .bf-timeline b {
    display:block;
    color:#a28c91;
    font-size:36px;
    margin-bottom:30px;
}

#babifit-landing .bf-timeline strong {
    font-size:19px;
}

#babifit-landing .bf-timeline p {
    font-size:13px;
    line-height:1.7;
    margin-top:13px;
}

#babifit-landing .bf-final {
    padding:150px 20px;
    text-align:center;
    background:#302c2e;
}

#babifit-landing .bf-final h2 {
    font-size:clamp(38px,5.8vw,85px);
    margin:26px 0;
    line-height:1.3;
}

#babifit-landing .bf-final>p {
    color:#d1c7ca;
    margin-bottom:35px;
}

#babifit-landing .bf-final-actions {
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

#babifit-landing .bf-outline-btn {
    background:transparent;
    border:1px solid #bfafb1;
    color:white;
}

@media(max-width:900px) {
    #babifit-landing .bf-story {
        grid-template-columns:1fr;
    }

    #babifit-landing .bf-story-visual {
        height:450px;
    }

    #babifit-landing .bf-story-text {
        padding:70px 8%;
    }

    #babifit-landing .bf-look-grid {
        grid-template-columns:repeat(2,1fr);
    }

    #babifit-landing .bf-look:last-child {
        grid-column:span 2;
    }

    #babifit-landing .bf-value-grid {
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:600px) {
    #babifit-landing .bf-intro {
        min-height:600px;
        height:88svh;
    }

    #babifit-landing .bf-intro-art {
        background-image:url('/images/common/babi_top00_m.jpg');
    }

    #babifit-landing .bf-outline {
        font-size:24vw;
    }

    #babifit-landing .bf-statement,#babifit-landing .bf-lookbook,#babifit-landing .bf-values,#babifit-landing .bf-ba,#babifit-landing .bf-recovery,#babifit-landing .bf-final {
        padding:85px 20px;
    }

    #babifit-landing .bf-section-head {
        display:block;
    }

    #babifit-landing .bf-section-head>p {
        margin-top:20px;
    }

    #babifit-landing .bf-look-grid {
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        gap:12px;
        padding-bottom:12px;
    }

    #babifit-landing .bf-look,#babifit-landing .bf-look:last-child {
        min-width:76vw;
        height:420px;
        scroll-snap-align:start;
    }

    #babifit-landing .bf-value-grid,#babifit-landing .bf-ba-grid,#babifit-landing .bf-timeline {
        grid-template-columns:1fr;
    }

    #babifit-landing .bf-ba-images>div {
        min-height:160px;
    }

    #babifit-landing .bf-story-visual {
        height:330px;
    }

    #babifit-landing .bf-final-actions {
        flex-direction:column;
    }

    #babifit-landing .bf-btn {
        justify-content:center;
    }

}

@media(prefers-reduced-motion:reduce) {
    #babifit-landing .bf-reveal {
        opacity:1;
        transform:none;
        transition:none;
    }

    #babifit-landing .bf-marquee div {
        animation:none;
    }

}

/* 전후사진 공백 제거 */
#babifit-landing .bf-ba-images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
}

/* 실제 이미지가 들어간 칸만 적용 */
#babifit-landing .bf-ba-images > div:has(img) {
    display: block;
    position: relative;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 40px 0 0;
    margin: 0;
    border: 0;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0;
}

/* 사진 위 라벨 */
#babifit-landing .bf-ba-images > div:has(img)::before {
    content: "BEFORE";
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    width: 100%;
    height: 40px;
    background: #e8e0e2;
    color: #625158;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .16em;
}

#babifit-landing .bf-ba-images > div:nth-child(2):has(img)::before {
    content: "AFTER";
    background: #bfafb1;
    color: #302c2e;
}

/* 불필요한 줄바꿈과 중복 라벨 제거 */
#babifit-landing .bf-ba-images > div:has(img) br,
#babifit-landing .bf-ba-images > div:has(img) .bf-ba-label {
    display: none;
}

/* small 내부 이미지의 여백 제거 */
#babifit-landing .bf-ba-images > div:has(img) small {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
}

#babifit-landing .bf-ba-images > div:has(img) small:not(:has(img)) {
    display: none;
}

/* 사진 자체 높이를 260px로 고정 */
#babifit-landing .bf-ba-images img {
    display: block;
    position: static;
    width: 100%;
    max-width: none;
    height: 260px;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}
