/* common */
.max-1440{
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}
.a{
    color: #a8fb8ae0;
}
.title-box{
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.title-box h3{
    padding-bottom: 40px;
    font-size: 32px;
    font-weight: 500;
}
.clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.clamp-2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.prd-link{
    font-size: 14px;
    font-style: normal;
}
.dis-no{
    display: none;
}
/* header */
header{
    position: sticky;
    margin-top: -1px;
    top: -1px;
    left: 0;
    height: 80px;
    width: 100%;
    background-color: rgba( 0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
    mask-image: linear-gradient(rgb(0, 0, 0), rgb(0, 0, 0) 12.5%, rgb(0, 0, 0) 57.5%, rgba(0, 0, 0, 0));
    z-index: 9;
    transform: translateY(-100%);
    transition: transform 0.3s;
}
header.show{
    transform: translateY(0%);
}

header ul{
    margin: 0 auto;
    max-width: 1440px;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    column-gap: clamp(0px, 1.9444vw, 28px);
}

/* main */
main{
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

section{
    box-sizing: border-box;
    padding: 40px;
    max-width: 640px;
    width: 100%;
    backdrop-filter: blur(4px);
}

/* 01.About */
section.sec01 .cont{
    display: flex;
    flex-direction: column;
    row-gap: 14px;
    align-items: center;
    text-align: center;
}
section.sec01 .cont ul{
    margin-top: 14px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 8px;
}
section.sec01 .cont .resume{
    background-color: rgb(124, 124, 124);
    border-radius: 8px;
    padding: 6px 0;
    width: 100%;
    max-width: 300px;
}

/* section02 - 주요 스택 및 도구 */
section.sec02{
    
}
section.sec02 .cont {

}
section.sec02 .cont .skill-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
section.sec02 .cont .skill-item{
    padding: 4px 8px;
    background-color: #ffffffc8;
    backdrop-filter: blur(10px);
    border-radius: 4px;
    color: #000;
    font-size: 16px;
}

/* section03 - 주요 프로젝트 */
section.sec03 .cont.grid{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: 8px;
}
section.sec03 .cont.grid .panel{
    overflow: hidden;
    grid-column: span 1 / span 1;
    /* border: 1px solid black; */
    border-radius: 16px;
    aspect-ratio: 2 / 1;
    padding: 24px;
    position: relative;
}
section.sec03 .cont.grid .panel .bg-circle{
    position: absolute;
    inset: 0;
    background: #353535bf;
    clip-path: circle(0% at 0% 100%);
    transition: clip-path 0.8s;
}
section.sec03 .cont.grid .panel.on .bg-circle{
    clip-path: circle(150% at 0% 100%);
}
section.sec03 .cont.grid .panel .inner{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    row-gap: 6px;
}
section.sec03 .cont.grid .panel .prd-name{
    font-size: 24px;
    width: fit-content;
}

section.sec03 .cont.grid .panel .prd-company,
section.sec03 .cont.grid .panel .prd-skills,
section.sec03 .cont.grid .panel .prd-platform,
section.sec03 .cont.grid .panel .prd-content{
    font-size: 16px;
    color: rgba(255, 255, 255, 0.85);
}
section.sec03 .cont.grid .panel .prd-skills-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
section.sec03 .cont.grid .panel .prd-skills-item{
    font-size: 16px;
    color: rgba(255, 255, 255, 0.95);
}
/* section04 - 전체 프로젝트 */
section.sec04{

}
section.sec04 .cont{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    row-gap: 16px;
}
section.sec04 .cont .panel{
    grid-column: span 1 / span 1;
}
section.sec04 .cont .panel .prd-link{
    word-break: break-all;
}
section.sec04 .cont .panel.noLink{
    pointer-events: none;
}
section.sec04 .cont .panel .inner{
    display: flex;
    flex-direction: column;
    row-gap: 4px;
}
section.sec04 .cont .panel p{
    font-size: 16px;
    color: #ffffffb0;
}
section.sec04 .cont .panel .prd-name{
    width: fit-content;
    font-size: 22px;
    color: #fff;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 8px;
}
section.sec04 .cont .panel .prd-name img{
    height: 22px;
    aspect-ratio: 1/1;
    margin-left: 4px;
}
section.sec04 .cont .panel * {
    word-break: keep-all;
}
section.sec04 .cont .company-wrap{
    grid-column: span 2 / span 2;
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
section.sec04 .cont .company-name-wrap{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
}
section.sec04 .cont .company-name-wrap .line{
    flex: 1;
    height: 1px;
    background-color: #c7c7c7;
}
section.sec04 .cont .company-name-wrap h4{
    font-size: 24px;
    padding: 0 10px;
}

section.sec04 .cont .panel .prd-skills-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
section.sec04 .cont .panel .prd-skills-item{
    border-radius: 4px;
    background-color: #ffffffc8;
    backdrop-filter: blur(10px);
    padding: 4px 8px;
    font-size: 16px;
    font-weight: 500;
    color: #111;
}

@media only screen and (max-width : 768px){
    .max-1440{
        padding: 0 20px;
    }
    header ul{
        justify-content: center;
    }
    header ul li {
        font-size: clamp(12px, 3.138vw, 16px);
    }
    section,
    section.sec03,
    section.sec04{
        padding: 40px 0;
    }
    section.sec04 .cont .panel{
        grid-column: span 2 / span 2;
    }
    section.sec03 .cont.grid .panel{
        aspect-ratio: unset;
    }
}