:root{--ink:#17201f;--paper:#f4f1ea;--white:#fbfaf7;--red:#9d3e2d;--muted:#77756e;--line:rgba(23,32,31,.18);--serif:"Noto Serif TC","Source Han Serif TC","思源宋體 TC",serif;--latin:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif)}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:88px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(244,241,234,.96);z-index:10}.identity{display:flex;align-items:center;gap:14px}.monogram{width:48px;height:48px;display:grid;place-items:center;border:1px solid;font:500 17px var(--latin);letter-spacing:.06em}.identity-name{display:grid;gap:2px;font-size:12px}.identity-name small{font:400 9px var(--latin);letter-spacing:.16em}.main-nav{display:flex;gap:30px}.main-nav a{font:500 10px var(--latin);letter-spacing:.14em;text-transform:uppercase;position:relative;padding:35px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:1px;background:var(--red);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-actions{justify-self:end;display:flex;gap:18px}.lang,.menu{border:0;background:none;cursor:pointer;font:500 11px var(--latin);letter-spacing:.12em}.menu{display:none;font-size:20px}.home-hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.05fr .95fr;padding:6vw 7vw;gap:7vw;align-items:center}.overline,.page-number{font:500 10px var(--latin);letter-spacing:.24em;text-transform:uppercase;color:var(--red)}.hero-copy h1{font-size:clamp(70px,10vw,150px);font-weight:500;line-height:.95;letter-spacing:.02em;margin:35px 0 26px}.hero-copy h1 small{display:block;font:400 clamp(20px,2.2vw,34px) var(--latin);letter-spacing:.2em;margin-top:30px}.hero-quote{border-left:1px solid var(--red);padding-left:28px;margin-top:50px;max-width:560px;font-size:clamp(18px,1.7vw,25px);line-height:1.9}.hero-quote small{display:block;font:400 11px/1.7 var(--latin);color:var(--muted);margin-top:10px}.hero-image{position:relative}.hero-image:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--red);z-index:-1}.hero-image img{width:100%;height:min(68vh,760px);object-fit:cover;filter:grayscale(1);display:block}.hero-image figcaption,.caption{font:400 9px var(--latin);letter-spacing:.18em;margin-top:13px}.hero-image figcaption{text-align:right}.page{min-height:calc(100vh - 88px);padding:95px 7vw 130px}.page-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid var(--line);padding-bottom:42px;margin-bottom:75px}.page-head h1{font-size:clamp(54px,8vw,112px);line-height:1;font-weight:500;margin:18px 0 0}.page-head p{justify-self:end;max-width:420px;font-size:14px;line-height:2;color:var(--muted)}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:start}.about-photo{position:sticky;top:30px}.about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}.about-text h2{font-size:clamp(35px,4.5vw,66px);line-height:1.35;font-weight:400;white-space:pre-line;margin:0 0 50px}.about-body{white-space:pre-line;font-size:16px;line-height:2.3;max-width:750px}.signature{font:400 16px var(--latin);letter-spacing:.15em;margin-top:60px;color:var(--red)}.news-list{display:grid;grid-template-columns:repeat(12,1fr);gap:50px 24px}.news-card{grid-column:span 4;border-top:1px solid;padding-top:16px}.news-card:first-child{grid-column:span 8}.news-card:first-child .news-image{aspect-ratio:2/1}.news-image{aspect-ratio:4/3;background:#dedbd3;margin-bottom:22px;overflow:hidden;display:grid;place-items:center}.news-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.news-image span{font:400 30px var(--latin);color:var(--muted)}.meta{display:flex;justify-content:space-between;font:500 9px var(--latin);letter-spacing:.13em;text-transform:uppercase;color:var(--red)}.news-card h2,.work-card h2{font-size:24px;font-weight:500;line-height:1.6;margin:16px 0}.news-card p,.work-card p{font-size:13px;line-height:1.9;color:var(--muted)}.calendar-tabs{display:flex;gap:30px;margin-bottom:25px}.calendar-tabs button{border:0;border-bottom:1px solid transparent;background:none;padding:10px 0;cursor:pointer;color:var(--muted)}.calendar-tabs button.active{color:var(--red);border-color:var(--red)}.event{display:grid;grid-template-columns:170px 1.4fr 1fr 35px;gap:30px;align-items:center;border-top:1px solid var(--line);padding:35px 0}.event:last-child{border-bottom:1px solid var(--line)}.event time{font:400 18px var(--latin)}.event h2{font-size:25px;font-weight:500;margin:0}.event p{font-size:12px;color:var(--muted);margin:7px 0}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 30px}.work-card:nth-child(even){margin-top:100px}.work-image{aspect-ratio:16/10;background:var(--ink);display:grid;place-items:center;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:.4s}.work-image:hover img{transform:scale(1.02);opacity:1}.work-image span{color:var(--white);font:400 11px var(--latin);letter-spacing:.2em}.work-card .meta{margin-top:18px}.project{display:grid;grid-template-columns:100px 1.4fr .7fr 1.2fr;gap:35px;padding:38px 0;border-top:1px solid var(--line)}.project:last-child{border-bottom:1px solid var(--line)}.project>span{font:400 13px var(--latin);color:var(--red)}.project h2{font-size:26px;font-weight:500;margin:0}.project p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.contact-page{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;min-height:calc(100vh - 88px);padding:9vw 7vw}.contact-page h1{font-size:clamp(55px,8vw,110px);font-weight:400;line-height:1.25;margin:25px 0 55px}.contact-page .email{font:400 clamp(22px,3vw,42px) var(--latin);border-bottom:1px solid var(--red);padding-bottom:8px}.contact-side{border-top:1px solid;padding-top:28px}.contact-side p{font-size:14px;line-height:2;color:var(--muted)}.contact-side .location{font:500 10px var(--latin);letter-spacing:.15em;color:var(--ink);margin-top:50px}.site-footer{min-height:150px;padding:40px 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line)}.footer-mark{font:500 24px var(--latin)}.copyright{font:400 9px var(--latin);letter-spacing:.12em}.socials{justify-self:end;display:flex;gap:10px}.socials a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:500 9px var(--latin)}.socials a:hover{background:var(--ink);color:var(--paper)}.admin-dot{opacity:.15}.fade{animation:fade .7s both}@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:950px){.site-header{height:72px;grid-template-columns:1fr auto;position:relative}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;gap:0;border-bottom:1px solid}.main-nav.open{display:flex}.main-nav a{padding:13px 0}.menu{display:block}.home-hero{grid-template-columns:1fr;padding-top:80px}.hero-image{width:78%;margin:30px 0 0 auto}.hero-image img{height:55vh}.page{padding:70px 6vw 90px}.page-head{grid-template-columns:1fr}.page-head p{justify-self:start}.about-layout{grid-template-columns:1fr}.about-photo{position:relative;max-width:600px}.news-list{display:block}.news-card{margin-bottom:55px}.event{grid-template-columns:110px 1fr 25px}.event>div:nth-child(3){display:none}.project{grid-template-columns:75px 1fr}.project>p{grid-column:2}.works-grid{grid-template-columns:1fr}.work-card:nth-child(even){margin-top:0}.contact-page{grid-template-columns:1fr;align-items:center}.site-footer{grid-template-columns:1fr auto;gap:25px}.copyright{grid-row:2}.socials{grid-column:2;grid-row:1/3}}
@media(max-width:560px){.identity-name{display:none}.home-hero{padding:60px 6vw}.hero-copy h1{font-size:20vw}.hero-image{width:90%}.event{grid-template-columns:85px 1fr 20px;gap:12px}.event time{font-size:13px}.project{grid-template-columns:55px 1fr;gap:18px}.contact-page{padding:80px 6vw}.site-footer{padding:35px 6vw}}
