:root{--bg:#fff;--ink:#111;--ink-soft:#333;--ink-secondary:#555;--muted:#6f6f6f;--faint:#767676;--border:#e8e8e8;--hover:#707070;--hover-bg:#f6f6f6;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-work-title:13px;--header-h:98px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}body>main{flex:1 0 auto}a{color:var(--ink);text-decoration:none}a:hover{color:var(--hover)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:90;-webkit-backdrop-filter:blur(8px);background:#fffffff0;justify-content:space-between;align-items:center;padding:26px 44px;display:flex;position:sticky;top:0}.site-header[data-hidden]{transform:translateY(-100%)}.site-logo{letter-spacing:.08em;font-size:32px;font-weight:700}.site-nav{letter-spacing:.02em;align-items:center;gap:36px;font-size:16px;display:flex}.site-nav [aria-current=page]{border-bottom:1px solid var(--ink);padding-bottom:2px}.lang-switch{color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.nav-about{margin:-8px 0;padding:8px 0;position:relative}.nav-about .dropdown{background:var(--bg);border:1px solid var(--border);min-width:150px;padding:8px 0;display:none;position:absolute;top:32px;left:-16px;box-shadow:0 8px 24px #0000000f}.nav-about:hover .dropdown,.nav-about:focus-within .dropdown{display:block}.nav-about .dropdown a{color:var(--ink-secondary);border-bottom:none;padding:8px 18px;font-size:12.5px;display:block}.nav-about .dropdown a:hover{background:var(--hover-bg);color:var(--ink)}.menu-toggle{cursor:pointer;background:0 0;border:0;width:26px;height:32px;padding:0;display:none;position:relative}.menu-toggle span{background:var(--ink);width:22px;height:1.5px;position:absolute;left:2px}.menu-toggle span:first-child{top:9px}.menu-toggle span:nth-child(2){top:16px}.menu-toggle span:nth-child(3){top:23px}body[data-menu-open] .menu-toggle span:first-child{transform:translateY(7px)rotate(45deg)}body[data-menu-open] .menu-toggle span:nth-child(2){opacity:0}body[data-menu-open] .menu-toggle span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{z-index:80;background:var(--bg);flex-direction:column;gap:28px;padding:110px 44px;display:none;position:fixed;inset:0;overflow-y:auto}body[data-menu-open] .mobile-menu{display:flex}body[data-menu-open]{overflow:hidden}.mobile-menu a{font-size:26px;font-weight:500}.mobile-menu .sub{flex-direction:column;gap:14px;display:flex}.mobile-menu .sub a.minor{color:var(--muted);padding-left:2px;font-size:15px}.mobile-menu .lang-switch{font-size:15px;font-weight:400}@media (width<=719px){.site-nav{display:none}.menu-toggle{display:block}.site-header{padding:26px 28px}}@media (width>=720px){.mobile-menu{display:none!important}}.page-main{width:100%;max-width:820px;margin:0 auto;padding:20px 32px}.page-narrow{width:100%;max-width:640px;margin:0 auto;padding:88px 32px 40px}.work{margin:0 0 60px}.work img{width:100%;height:auto;display:block}@media (width>=720px){.work{width:100%;max-width:480px;margin-left:auto;margin-right:auto}}.no-photo{background:var(--hover-bg);width:100%;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-align:center;justify-content:center;align-items:center;padding:12px;font-size:11px;display:flex}.work figcaption{font-size:var(--font-work-title);margin-top:14px;line-height:1.6}.work figcaption em{color:var(--ink-soft);font-style:normal;font-weight:700}.work figcaption .detail{color:var(--muted)}.section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 32px;font-size:13px;font-weight:700}h2.section-title{margin-bottom:28px}.about-section{scroll-margin-top:var(--header-h)}.about-section+.about-section{margin-top:88px}.about-section p{color:var(--ink-soft);margin:0 0 18px;font-size:15px;line-height:1.75}.about-section p:last-child{margin-bottom:0}.year-grid{color:var(--ink-soft);grid-template-columns:56px 1fr;gap:10px 20px;font-size:14px;line-height:1.6;display:grid}.year-grid .year{color:var(--muted)}.year-grid em{color:var(--ink-soft);font-style:normal;font-weight:700}.year-grid .detail{color:var(--muted)}.contact-main{min-height:52vh}.contact-intro{color:var(--ink-soft);margin:0 0 28px;font-size:15px;line-height:1.75}.contact-links{flex-direction:column;gap:12px;font-size:22px;font-weight:500;display:flex}.contact-links .secondary{color:var(--ink-secondary);font-size:15px;font-weight:400}.notfound-main{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:52vh;display:flex}.notfound-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 24px;font-size:clamp(72px,18vw,168px);font-weight:700;line-height:1}.notfound-body{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.75}.notfound-body+.notfound-body{margin-top:8px}.legal-main{padding-bottom:88px}.legal-section+.legal-section{margin-top:44px}.legal-section h2{color:var(--ink);letter-spacing:.04em;margin:0 0 14px;font-size:13px;font-weight:700}.legal-section p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.75}.site-footer{color:var(--faint);flex-direction:column;flex:none;gap:36px;padding:40px 44px 56px;font-size:11px;display:flex}.site-footer a{color:inherit}.site-footer a:hover{color:var(--ink-secondary)}.footer-meta{justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-logo{align-self:center;width:96px;height:auto}@media (width<=719px){.site-footer{padding-left:28px;padding-right:28px}.footer-logo{width:80px}}@media (prefers-reduced-motion:no-preference){a{transition:color .3s}.site-header{transition:transform .3s}.menu-toggle span{transition:transform .34s cubic-bezier(.68,-.2,.27,1.3),opacity .16s}@keyframes pgRise{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes pgIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes ddIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}main{animation:.55s cubic-bezier(.22,.61,.36,1) both pgRise}.mobile-menu{animation:.2s both pgIn}.nav-about .dropdown{animation:.18s both ddIn}html.js-motion [data-reveal]{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(12px)}html.js-motion [data-reveal].in{opacity:1;transform:translateY(0)}}
