/* ==================================================
   PROJECT DETAIL
================================================== */

html {
    margin: 0;
    padding: 0;

    background: #000;

    scrollbar-width: none;
}

html::-webkit-scrollbar {
    display: none;
}


body {
    margin: 0;
    padding: 0;

    background: #000;
    color: #fff;

    font-family: Arial, sans-serif;

    scrollbar-width: none;
}

body::-webkit-scrollbar {
    display: none;
}


/* ==================================================
   HEADER
================================================== */

.project-header {
    display: none !important;
}

.project-header a {
    color: #fff;

    text-decoration: none;

    font-size: 12px;
}

.project-header span {
    font-size: 12px;
}


/* ==================================================
   MAIN
================================================== */

.project-page {
    width: 100%;

    margin: 0;
    padding: 0;

    background: #000;
}


/* ==================================================
   HERO
================================================== */

.project-hero-detail {
    width: 100%;

    margin: 0;
    padding: 0;

    background: #000;

    font-size: 0;
    line-height: 0;
}
.project-hero-detail img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    border: 0;
}


/* ==================================================
   PROJECT INFO
================================================== */

.project-info {

    display: grid;

    grid-template-columns:
        1fr
        1fr
        2fr;

    margin: 90px 48px 0;

    padding: 38px 0 80px;

    border-top: 1px solid #fff;

    gap: 40px;

    background: #000;
}


/* ==================================================
   PROJECT NAME
================================================== */

.project-info-name h1 {

    margin: 0;

    padding: 0;

    color: #fff;

    font-size: 30px;

    font-weight: 100;

    line-height: 1.1;

    letter-spacing: -0.03em;
}


/* ==================================================
   PROJECT TYPE
================================================== */

.project-info-scope {

    margin: 0;

    padding: 5px 0 0;

    color: #fff;

    font-size: 30px;

    font-weight: 100;

    line-height: 1.1;

    letter-spacing: -0.03em;
}


/* ==================================================
   PROJECT DESCRIPTION
================================================== */

.project-info-description {

    width: 100%;

    max-width: 760px;

    margin: 0;

    padding: 0;
}

.project-info-description p {

    margin: 0;

    padding: 0;

    color: #fff;

    font-size: 16px;

    font-weight: 300;

    line-height: 1.65;

    letter-spacing: -0.02em;
}


/* ==================================================
   PROJECT IMAGES
================================================== */

.project-image {

    width: 100%;

    margin: 0 0 100px;

    padding: 0;

    background: #000;

    font-size: 0;

    line-height: 0;
}

.project-image img,
.project-image video {

    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    border: 0;
    .project-image video {

    object-fit: contain;
}
}


/* ==================================================
   FADE IN
================================================== */

.reveal {

    opacity: 0;

    transform: translateY(50px);

    transition:
        opacity 1s ease,
        transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.show {

    opacity: 1;

    transform: translateY(0);
}


/* ==================================================
   FOOTER
================================================== */

.project-footer {

    width: 100%;

    padding: 100px 24px;

    box-sizing: border-box;

    display: flex;

    justify-content: center;

    background: #000;

    border-top: 1px solid #222;
}

.project-footer a {

    color: #fff;

    text-decoration: none;

    font-size: 11px;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 900px) {

    .project-header {

        height: 52px;

        padding: 0 20px;
    }


    .project-hero-detail {

        margin-top: 0;
    }


    .project-info {

        grid-template-columns:
            1fr
            1fr;

        margin: 70px 24px 0;

        padding: 35px 0 70px;

        gap: 30px;
    }


    .project-info-description {

        grid-column: 1 / -1;

        max-width: 100%;
    }


    .project-info-name h1 {

        font-size: 36px;
    }


    .project-info-scope {

        padding-top: 4px;

        font-size: 36px;
    }


    .project-info-description p {

        font-size: 16px;

        font-weight: 300;

        line-height: 1.65;
    }


    .project-image {

        margin-bottom: 70px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 600px) {

    .project-header {

        height: 52px;

        padding: 0 16px;
    }


    .project-header a,
    .project-header span {

        font-size: 11px;
    }


    .project-hero-detail {

        margin-top: 0px;
    }


    .project-info {

        grid-template-columns: 1fr;

        margin: 55px 16px 0;

        padding: 28px 0 50px;

        gap: 26px;
    }


    .project-info-name h1 {

        font-size: 32px;
    }


    .project-info-scope {

        padding-top: 0;

        font-size: 32px;
    }


    .project-info-description {

        grid-column: auto;

        max-width: 100%;
    }


    .project-info-description p {

        font-size: 15px;

        font-weight: 300;

        line-height: 1.65;
    }


    .project-image {

        margin-bottom: 60px;
    }


    .project-footer {

        padding: 70px 16px;
    }

}
/* ==================================================
   INTER — SCROLL MOTION HERO
================================================== */
.inter-motion-hero {
    position: relative;
    height: 330vh;
    background: #000;
}
.inter-motion-stage {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #000;
}
.inter-motion-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform-origin: 50% 50%;
    will-change: opacity, transform;
}
.inter-idle { z-index: 1; opacity: 1; }
.inter-action { z-index: 2; opacity: 0; }
.inter-scroll-cue {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    font: 10px/1 Arial, sans-serif;
    letter-spacing: .22em;
    color: rgba(255,255,255,.72);
    transition: opacity .2s linear;
}
@media (max-width: 600px) {
    .inter-motion-hero { height: 260vh; }
    .inter-motion-video { object-position: center; }
}
@media (prefers-reduced-motion: reduce) {
    .inter-motion-hero { height: 100vh; }
    .inter-action, .inter-scroll-cue { display: none; }
}

/* INTER — overlay-safe finishing */
.inter-motion-stage { height: 100vh; height: 100dvh; }
.inter-original-hero { margin-top: 0; }

/* INTER mobile scrub finishing */
@media (pointer: coarse), (max-width: 600px) {
  html, body { -webkit-overflow-scrolling: touch; }
  .inter-motion-stage { height: 100svh; }
  .inter-motion-hero { height: 280svh; }
}

/* INTER v4 — mobile uses the original static project flow only. Desktop motion is unchanged. */
@media (max-width: 600px), (pointer: coarse) {
  .inter-motion-hero {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .inter-motion-stage,
  .inter-motion-video,
  .inter-scroll-cue {
    display: none !important;
  }
}

/* INTER mobile navigator safety fallback: JS enables this only when the parent overlay navigator is unavailable. */
.inter-mobile-nav-fallback { display: none; }
@media (max-width: 600px), (pointer: coarse) {
  .inter-mobile-nav-fallback.is-visible {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 50px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    background: #000;
    border-bottom: 1px solid #222;
    color: #fff;
    font-size: 12px;
  }
  .inter-mobile-nav-fallback a { color: inherit; text-decoration: none; }
}


/* v7 — consistent project narrative rhythm; all original page layouts remain unchanged. */
.project-info-description p {
    color: rgba(255, 255, 255, 0.86);
    font-family: "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", Arial, sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.85;
    letter-spacing: -0.015em;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.project-info-description p + p { margin-top: 22px; }
@media (max-width: 600px) {
    .project-info-description p { font-size: 15px; line-height: 1.8; }
    .project-info-description p + p { margin-top: 18px; }
}
