.yuankee-project { background:#000; color:#fff; font-family:Arial,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif; }
.yuankee-project figure,.yuankee-project h2,.yuankee-project p { margin:0; }
.yuankee-project img { display:block; width:100%; height:auto; }
.yuankee-project button { font:inherit; color:inherit; cursor:pointer; }
.yuankee-project button:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.yuankee-wrap { width:min(86%,1120px); margin-inline:auto; }
.yuankee-opening { display:grid; grid-template-columns:1fr 1.15fr; gap:8vw; align-items:center; padding-block:160px 110px; }
.yuankee-name { font-size:clamp(52px,5.6vw,104px); font-weight:500; line-height:1.08; letter-spacing:-.065em; }
.yuankee-opening p { margin-top:28px; color:#d2b77b; font-size:clamp(15px,1.2vw,20px); line-height:1.6; }
.yuankee-motion { display:block; width:100%; height:auto; object-fit:contain; background:#159447; }
.yuankee-motion-wide { aspect-ratio:16/9; }
.yuankee-copy { display:grid; grid-template-columns:1fr 1.15fr; gap:8vw; align-items:start; padding-bottom:100px; }
.yuankee-copy h2 { font-size:clamp(32px,3.5vw,60px); line-height:1.16; letter-spacing:-.045em; font-weight:500; }
.yuankee-copy p { font-size:18px; line-height:1.9; max-width:590px; }
.yuankee-copy p+p { margin-top:22px; }
.yuankee-posters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px 48px; }
.yuankee-art { display:block; width:100%; padding:0; border:0; background:transparent; }
.yuankee-characters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; align-items:start; padding-block:140px; }
.yuankee-characters .yuankee-motion { aspect-ratio:9/16; }
.yuankee-digital { display:grid; grid-template-columns:1.25fr .7fr; align-items:center; gap:15%; width:min(80%,900px); padding-bottom:160px; }
.yuankee-digital .yuankee-phone { width:85%; justify-self:center; }
.yuankee-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; box-sizing:border-box; padding:70px 60px 80px; border:0; margin:0; background:#000; color:#fff; overflow:hidden; }
.yuankee-lightbox::backdrop { background:#000; }
.yuankee-arrow { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffff65; border-radius:50%; background:transparent; font-size:22px!important; line-height:1; }
.yuankee-close { position:absolute; right:24px; top:20px; font-size:30px!important; }
.yuankee-lightbox-stage { height:100%; display:flex; align-items:center; justify-content:center; }
.yuankee-lightbox-stage img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.yuankee-lightbox-nav { position:absolute; bottom:22px; left:24px; right:24px; display:flex; align-items:center; justify-content:space-between; }
@media (max-width:900px) {
  .yuankee-posters { gap:40px 28px; }
  .yuankee-characters { grid-template-columns:repeat(2,minmax(0,1fr)); width:min(80%,700px); gap:40px; }
}
@media (max-width:600px) {
  .yuankee-opening { grid-template-columns:1fr; gap:40px; padding-block:85px 65px; }
  .yuankee-copy { grid-template-columns:1fr; gap:28px; padding-bottom:65px; }
  .yuankee-copy p { font-size:16px; line-height:1.85; }
  .yuankee-posters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; width:88%; }
  .yuankee-characters { width:86%; gap:24px; padding-block:75px; }
  .yuankee-digital { width:86%; gap:8%; padding-bottom:85px; }
  .yuankee-digital .yuankee-phone { width:100%; }
  .yuankee-lightbox { padding:80px 18px; }
}
