:root{
  --paper:#f8f8f5;
  --ink:#050505;
  --muted:#666;
  --soft:#d9d6cf;
  --serif:"Newsreader","Noto Serif KR",Georgia,serif;
  --sans:"IBM Plex Sans","Noto Sans KR",Arial,sans-serif;
  --main-text:clamp(13px,.92vw,15px);
  --small-text:clamp(12.5px,.86vw,14px);
  --meta-text:clamp(10px,.68vw,11px);
  --project-title:clamp(21px,1.49vw,24.27px);
  --gutter:clamp(1.25rem,4vw,3.4rem);
  --top:clamp(1.2rem,3vw,2.5rem);
  --space-1:.382rem;
  --space-2:.618rem;
  --space-3:1rem;
  --space-4:1.618rem;
  --space-5:2.618rem;
  --space-6:4.236rem;
  --space-7:6.854rem;
}

*{box-sizing:border-box}

html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}

body{
  margin:0;
  min-height:100svh;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:var(--main-text);
  line-height:1.48;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{opacity:.62}
button{font:inherit;color:inherit}

.site-id{
  position:fixed;
  z-index:20;
  top:var(--top);
  left:var(--gutter);
  font-family:var(--serif);
  font-size:var(--main-text);
  font-weight:400;
  letter-spacing:-.01em;
  line-height:1;
  background:var(--paper);
  padding:.36rem .46rem .38rem;
  margin-top:-.36rem;
  margin-left:-.46rem;
  text-decoration:none;
}


.home-link{
  position:fixed;
  z-index:20;
  left:var(--gutter);
  bottom:var(--top);
  background:var(--paper);
  padding:.36rem .46rem .38rem;
  margin-left:-.46rem;
  margin-bottom:-.36rem;
  font-family:var(--serif);
  font-size:var(--main-text);
  font-weight:400;
  letter-spacing:-.01em;
  line-height:1;
  text-decoration:none;
}

.home-link:hover{opacity:.62}

.lang{
  position:fixed;
  z-index:20;
  top:calc(var(--top) - 5px);
  right:var(--gutter);
  display:flex;
  gap:3px;
  background:transparent;
  font-family:var(--sans);
  font-size:var(--meta-text);
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.lang button{
  border:0;
  background:var(--paper);
  color:var(--muted);
  padding:5px 7px;
  cursor:pointer;
}

.lang button.active{
  color:var(--ink);
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

main{padding:clamp(5.2rem,7.5vw,8rem) var(--gutter) var(--space-7)}

.project{
  min-height:min(72svh,44rem);
  display:grid;
  grid-template-columns:minmax(18rem,.618fr) minmax(24rem,1fr);
  gap:clamp(2.618rem,6vw,8.472rem);
  align-items:center;
  width:min(86rem,100%);
  margin-inline:auto;
}

.project-text{
  max-width:34rem;
}

.title-group{
  padding-top:var(--space-4);
  border-top:1px solid var(--ink);
  margin-bottom:var(--space-4);
}

h1{
  margin:0 0 var(--space-2);
  font-family:var(--serif);
  font-size:var(--project-title);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
}

.subtitle{
  margin:0;
  color:var(--muted);
  font-size:var(--main-text);
  line-height:1.34;
}

.copy{
  font-size:var(--main-text);
  line-height:1.48;
}

.copy p{margin:0 0 var(--space-3)}
.copy a{color:inherit}

.video{
  width:100%;
  align-self:center;
}

.video-inner{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  overflow:hidden;
}

.video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.gallery{
  width:min(800px,100%);
  margin:0 auto;
  display:grid;
  gap:var(--space-5);
  padding-top:var(--space-6);
}

.gallery::before{
  content:"";
  display:block;
  width:min(18rem,46vw);
  height:1px;
  background:var(--ink);
  margin:0 auto var(--space-3);
}

.figure{
  margin:0;
}

.figure img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin-inline:auto;
}

.footer{
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  gap:var(--space-4);
  padding:0 var(--gutter) var(--top);
  font-family:var(--sans);
  font-size:var(--small-text);
  color:var(--muted);
}

.back-top{
  position:fixed;
  right:var(--gutter);
  bottom:var(--top);
  border:0;
  background:var(--paper);
  padding:.36rem .46rem .38rem;
  cursor:pointer;
  font-family:var(--sans);
  font-size:var(--small-text);
  color:var(--muted);
}

.back-top:hover{color:var(--ink)}

[data-lang="fr"] [data-content]:not([data-content="fr"]),
[data-lang="en"] [data-content]:not([data-content="en"]),
[data-lang="ko"] [data-content]:not([data-content="ko"]){display:none}

@media(max-width:860px){
  main{padding-top:6.854rem}
  .project{
    min-height:auto;
    grid-template-columns:1fr;
    gap:var(--space-5);
    align-items:start;
  }
  .project-text{max-width:100%}
  h1{font-size:var(--project-title);line-height:1.08;letter-spacing:-.025em}
  .gallery{gap:var(--space-4);padding-top:var(--space-6)}
  .footer{padding-bottom:calc(var(--top) + 2.5rem)}
}