:root{
  --paper:#f7f4ee;
  --paper-2:#efebe1;
  --ink:#1c1a16;
  --ink-dim:#7a7568;
  --gold:#a9834c;
  --line:rgba(28,26,22,.1);
  --dark:#111111;
}
*{margin:0;padding:0;box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:#fff;}

h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;letter-spacing:.01em;}

.grain{
  position:fixed;inset:0;pointer-events:none;z-index:999;
  opacity:.02;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* NAV */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:26px 6vw;
  display:flex;justify-content:center;
  transition:background .4s ease, padding .4s ease, border-color .4s ease;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(247,244,238,.85);
  backdrop-filter:blur(14px);
  padding:16px 6vw;
  border-bottom:1px solid var(--line);
}
.nav-inner{
  width:100%;max-width:1400px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;letter-spacing:.15em;color:var(--ink);text-decoration:none;
  border:1px solid var(--line);width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
}
.nav-links{display:flex;gap:38px;}
.nav-links a{
  color:var(--ink-dim);text-decoration:none;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;
  transition:color .3s ease;
  position:relative;
}
.nav-links a:hover{color:var(--ink);}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;
  background:var(--gold);transition:width .3s ease;
}
.nav-links a:hover::after{width:100%;}

/* INTRO SPLASH ---------------------------------------------------------- */
.intro{
  position:fixed;inset:0;
  z-index:200;
  background:#0a0a0a;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;
  overflow:hidden;
  transition:opacity .8s ease, visibility .8s ease;
}
.intro-video{
  position:absolute;
  top:0; left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center; /* mobile/portrait: natural centered crop, subject stays centered even if edges get cut */
  z-index:0;
}
@media (min-width:768px){
  .intro-video{
    width:116%;   /* desktop/landscape only: oversized and left-anchored so the watermark is clipped off the right edge */
    object-position:left center;
  }
}
.intro-inner, .intro-hint{
  position:relative;
  z-index:2;
}
.intro.dismissed{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.intro-inner{
  text-align:center;
  opacity:0;
  transform:translateY(14px);
  animation:introFadeIn 1.1s ease forwards .2s;
}
@keyframes introFadeIn{
  to{opacity:1; transform:translateY(0);}
}
.intro.dismissed .intro-inner{
  transition:opacity .6s ease, transform .6s ease;
  opacity:0;
  transform:translateY(-18px) scale(.97);
}
.intro-eyebrow{
  font-size:12px;letter-spacing:.5em;color:rgba(255,255,255,.55);
  margin-bottom:20px;
}
.intro-name{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(46px, 9vw, 120px);
  font-weight:400;
  letter-spacing:.02em;
  background-image:linear-gradient(155deg, #f6e7c1 0%, #d4af6a 32%, #a9834c 55%, #f6e7c1 72%, #b8925a 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 46px rgba(212,175,106,.35);
}
.intro-sub{
  margin-top:16px;
  font-size:13px;letter-spacing:.6em;color:rgba(255,255,255,.5);
  padding-left:.6em;
}
.intro-hint{
  position:absolute;
  bottom:48px;left:50%;
  transform:translateX(-50%);
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(255,255,255,.45);
  opacity:0;
  animation:introFadeIn 1s ease forwards .9s, introBlink 2s ease-in-out 1.9s infinite;
}
@keyframes introBlink{
  0%,100%{opacity:.45;}
  50%{opacity:.9;}
}

/* HERO ---------------------------------------------------------------- */
.hero{
  position:relative;
  height:100vh;
  width:100%;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:#111;
}
.hero-bg{
  position:absolute;inset:0;
  z-index:1;
}
.hero-bg img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 22%;
}
.hero-overlay{
  position:absolute;inset:0;
  z-index:2;
  background:linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.65) 100%);
}
.hero-content{
  position:relative;
  z-index:3;
  text-align:center;
  opacity:0;
  transform:translateY(16px);
}
.hero-content.in-view{
  animation:heroContentIn 1s ease forwards;
}
@keyframes heroContentIn{
  to{opacity:1; transform:translateY(0);}
}
.hero-eyebrow{
  font-size:12px;letter-spacing:.5em;color:rgba(255,255,255,.6);
  margin-bottom:18px;
}
.hero-name{
  font-size:clamp(44px, 7.5vw, 100px);
  line-height:.95;
  font-weight:400;
  letter-spacing:.01em;
  background-image:linear-gradient(155deg, #f6e7c1 0%, #d4af6a 32%, #a9834c 55%, #f6e7c1 72%, #b8925a 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  text-shadow:0 8px 40px rgba(0,0,0,.35), 0 0 46px rgba(212,175,106,.3);
}
.hero-name .line{display:block;}
.hero-sub{
  margin-top:16px;
  font-size:14px;letter-spacing:.6em;color:rgba(255,255,255,.55);
  padding-left:.6em;
}

.hero-scroll{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;
  color:rgba(255,255,255,.6);
}
.hero-scroll span{
  width:1px;height:46px;
  background:linear-gradient(180deg, var(--gold), transparent);
  position:relative;overflow:hidden;
}
.hero-scroll span::before{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
  background:#fff;
  animation:scrollLine 1.8s ease-in-out infinite;
}
@keyframes scrollLine{
  0%{top:-100%;}
  60%{top:100%;}
  100%{top:100%;}
}
.hero-scroll p{font-size:10px;letter-spacing:.3em;text-transform:uppercase;}

/* STATEMENT */
.statement{
  padding:180px 8vw;
  max-width:1100px;margin:0 auto;
  text-align:center;
}
.reveal-text{
  font-family:'Noto Serif KR', 'Cormorant Garamond', serif;
  font-size:clamp(20px, 2.6vw, 32px);
  line-height:2;
  font-weight:300;
  letter-spacing:-.01em;
  word-break:keep-all;
  color:var(--ink-dim);
}
.reveal-text strong{color:var(--ink);font-weight:500;}
.reveal-text .glow{
  color:var(--gold);
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
}

/* SECTION TAG */
.section-tag{
  display:inline-block;
  font-size:11px;letter-spacing:.35em;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px;
}
.section-tag.light{color:#9a9384;}

/* ABOUT */
.about{
  padding:140px 8vw;
  background:var(--paper-2);
}
.about-grid{
  max-width:1300px;margin:0 auto;
  display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center;
}
.about-image{
  position:relative;
  aspect-ratio:3/4;
}
.about-image img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(.15) contrast(1.03);
  display:block;
}
.about-image-frame{
  position:absolute;top:22px;left:22px;right:-22px;bottom:-22px;
  border:1px solid var(--gold);
  z-index:-1;
}
.about-text h2{
  font-size:clamp(32px,4vw,54px);
  margin-bottom:40px;
  color:var(--ink);
}
.edu-list{list-style:none;display:flex;flex-direction:column;}
.edu-list li{
  padding:24px 0;
  border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;
}
.edu-list li:first-child{padding-top:0;}
.edu-school{font-size:18px;color:var(--ink);}
.edu-degree{font-size:13px;color:var(--ink-dim);letter-spacing:.05em;}

/* CAREER */
.career{
  padding:140px 8vw;
  background:var(--paper);
  text-align:center;
}
.career-title{font-size:clamp(32px,4vw,54px);margin-bottom:70px;}
.career-list{
  max-width:900px;margin:0 auto;
  text-align:left;
}
.career-item{
  display:flex;gap:36px;align-items:baseline;
  padding:26px 0;
  border-bottom:1px solid var(--line);
  transition:padding-left .4s ease, border-color .4s ease;
}
.career-item:hover{
  padding-left:14px;
  border-color:var(--gold);
}
.career-index{
  font-family:'Cormorant Garamond',serif;
  font-size:14px;color:var(--gold);letter-spacing:.1em;
  min-width:24px;
}
.career-body h3{font-size:19px;color:var(--ink);font-weight:400;margin-bottom:4px;}
.career-body p{font-size:13px;color:var(--ink-dim);letter-spacing:.03em;}

/* HIGHLIGHT (dark break for contrast) */
.highlight{
  position:relative;
  min-height:70vh;
  display:flex;align-items:center;justify-content:center;
  background:#000;
  text-align:center;
  overflow:hidden;
}
.highlight::before{
  content:'';
  position:absolute;inset:0;
  background-image:url('assets/hero-shadow-1.jpg');
  background-size:cover;background-position:center 15%;
  filter:grayscale(1) brightness(.35);
  opacity:.45;
}
.highlight::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 40%, rgba(169,131,76,.14) 0%, rgba(0,0,0,0) 60%);
}
.highlight-inner{position:relative;z-index:2;padding:0 6vw;}
.highlight-inner h2{
  font-size:clamp(38px,6vw,90px);
  margin:16px 0 26px;
  color:#f3f1ec;
}
.highlight-inner p{
  font-size:clamp(15px,1.6vw,20px);
  color:#b8b3a8;
  line-height:1.8;
}
.highlight-inner strong{color:var(--gold);font-weight:500;}
.highlight .section-tag{color:var(--gold);}

/* AWARDS */
.awards{
  padding:140px 8vw;
  background:var(--paper-2);
  text-align:center;
}
.awards-title{font-size:clamp(32px,4vw,54px);margin-bottom:70px;}
.awards-grid{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(2,1fr);gap:2px;
  background:var(--line);
}
.award-card{
  background:var(--paper-2);
  padding:52px 40px;
  text-align:left;
  transition:background .35s ease;
}
.award-card:hover{background:#e6e0d2;}
.award-rank{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:44px;color:var(--gold);margin-bottom:18px;
}
.award-card h3{font-size:18px;font-weight:400;line-height:1.5;color:var(--ink);}

/* PERFORMANCES */
.performances{
  padding:140px 8vw;
  text-align:center;
  background:var(--paper);
}
.perf-title{font-size:clamp(32px,4vw,54px);margin-bottom:70px;}
.perf-list{max-width:920px;margin:0 auto;text-align:left;}
.perf-row{
  display:grid;grid-template-columns:90px 1fr;gap:30px;
  padding:22px 0;border-bottom:1px solid var(--line);
}
.perf-year{font-size:13px;color:var(--gold);letter-spacing:.1em;padding-top:2px;}
.perf-row p{font-size:15.5px;color:#4a463c;line-height:1.7;}

/* GALLERY */
.gallery{padding:0 0 140px; background:var(--paper);}
.gallery-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;
  gap:4px;padding:0 4px;
}
.gallery-grid .gallery-item:nth-child(n+5){
  grid-column:span 1;
}
.gallery .section-tag{margin:0 8vw 40px;display:block;text-align:center;padding-top:140px;}
.gallery-item{
  overflow:hidden;
  aspect-ratio:3/4;
}
.gallery-item.large{aspect-ratio:auto;}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(.1);
  transform:scale(1.02);
  transition:transform .6s ease, filter .6s ease;
}
.gallery-item:hover img{transform:scale(1.08);filter:grayscale(0);}

/* CONTACT (dark close, mirrors highlight for bookend contrast) */
.contact{
  position:relative;
  min-height:64vh;
  display:flex;align-items:center;justify-content:center;
  background:#000;
  overflow:hidden;
  text-align:center;
}
.contact-beam{
  position:absolute;top:-30%;left:50%;
  width:100vw;height:120%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse 40% 55% at 50% 20%, rgba(169,131,76,.16) 0%, rgba(0,0,0,0) 65%);
  pointer-events:none;
}
.contact-inner{position:relative;z-index:2;}
.contact-inner h2{font-size:clamp(30px,4vw,50px);margin:14px 0 30px;color:#f3f1ec;}
.contact-name{
  font-family:'Cormorant Garamond',serif;
  font-size:15px;letter-spacing:.4em;color:#8f8a7d;margin-bottom:10px;
}
.contact-email{
  display:inline-block;
  font-size:clamp(20px,2.6vw,30px);
  color:var(--gold);text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:4px;
  transition:border-color .3s ease;
}
.contact-email:hover{border-color:var(--gold);}
.contact-note{margin-top:24px;font-size:13px;color:#8f8a7d;}

/* FOOTER */
.footer{
  padding:34px 8vw;
  text-align:center;
  border-top:1px solid var(--line);
  font-size:11px;letter-spacing:.15em;color:#a19c8e;
  background:var(--paper);
}

/* SCROLL REVEAL */
.will-reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity 1s cubic-bezier(.16,.8,.3,1), transform 1s cubic-bezier(.16,.8,.3,1);
}
.will-reveal.revealed{
  opacity:1;
  transform:translateY(0);
}

/* RESPONSIVE */
@media (max-width:860px){
  .nav-links{display:none;}
  .about-grid{grid-template-columns:1fr;gap:60px;}
  .about-image-frame{display:none;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .gallery-item.large{grid-column:span 2;}
  .hero-pin{perspective:900px;}
  .awards-grid{grid-template-columns:1fr;}
  .perf-row{grid-template-columns:60px 1fr;gap:16px;}
  .statement{padding:120px 8vw;}

  .intro-name{ font-size:clamp(38px, 13vw, 72px); }
  .intro-eyebrow{ font-size:10px; letter-spacing:.4em; }
  .intro-sub{ font-size:11px; letter-spacing:.5em; }
  .hero-name{
    font-size:clamp(34px, 11vw, 58px);
  }
  .hero-eyebrow{
    font-size:10px;letter-spacing:.4em;
  }
  .hero-sub{
    font-size:12px;letter-spacing:.5em;
  }
}

@media (max-width:480px){
  .hero-name{
    font-size:clamp(30px, 12vw, 46px);
  }
  .intro-name{ font-size:clamp(32px, 13vw, 56px); }
}