@font-face{font-family:'DyeLine Web';src:url('/fonts/dyeline-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DyeLine Web';src:url('/fonts/dyeline-bold.woff2') format('woff2');font-style:normal;font-weight:500 900;font-display:swap}
@font-face{font-family:'Microsoft YaHei Web';src:url('/fonts/yahei-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'Microsoft YaHei Web';src:url('/fonts/yahei-regular.woff2') format('woff2');font-style:normal;font-weight:500 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FA1F}
:root{--neil-type:'DyeLine Web','Microsoft YaHei Web','Microsoft YaHei',sans-serif;--neil-header-height:clamp(88px,12svh,112px);--neil-gutter:4vw;--neil-page-space:3.3vw}
html body,body :where(h1,h2,h3,h4,h5,h6,p,a,span,div,strong,em,li,button,input,textarea,select,label,summary,figcaption){font-family:var(--neil-type)!important}
html body{--heading-font-font-family:var(--neil-type);--body-font-font-family:var(--neil-type);--meta-font-font-family:var(--neil-type);--pagePadding:var(--neil-gutter);--sqs-site-gutter:var(--neil-gutter);--sqs-mobile-site-gutter:var(--neil-gutter)}
.neil-header{position:relative!important;box-sizing:border-box;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:var(--neil-header-height);padding:14px var(--neil-gutter);background:#000!important;color:#fff}
.neil-logo{display:flex;align-items:center;gap:10px;flex:0 0 auto;line-height:1}
/* Frame the original seal without altering the supplied image bytes. */
.neil-brand-seal{height:44px;aspect-ratio:846/880;overflow:hidden;flex:0 0 auto}
.neil-logo .neil-brand-seal img{display:block;height:100%;width:auto;max-width:none}
.neil-brand-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:nowrap}
.neil-brand-name{font-size:26px;line-height:1;letter-spacing:-.01em;font-weight:400}
.neil-brand-discipline{font-size:13px;line-height:1;letter-spacing:.12em;font-weight:400;color:#bcbcbc}
.neil-desktop-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0 clamp(14px,1.8vw,28px);margin-left:auto;min-width:0;line-height:1.4}.neil-header .neil-desktop-nav a{white-space:nowrap}
.neil-header a{color:#fff!important;text-decoration:none!important;font-size:14px;letter-spacing:.02em;font-weight:400}.neil-header nav a{display:flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;white-space:normal}.neil-header nav a[aria-current],.neil-header nav a:hover{text-decoration:underline!important;text-underline-offset:7px}
.neil-header a:focus-visible,.neil-header summary:focus-visible{outline:1px solid #fff;outline-offset:6px}
.neil-mobile-nav{display:none;margin-left:auto;flex:0 0 auto}.neil-mobile-nav summary{display:flex;align-items:center;justify-content:flex-end;width:44px;height:44px;cursor:pointer;list-style:none;color:#fff}.neil-mobile-nav summary::-webkit-details-marker{display:none}.neil-mobile-nav svg{flex-shrink:0}.neil-menu-close{display:none}.neil-mobile-nav[open] .neil-menu-icon{display:none}.neil-mobile-nav[open] .neil-menu-close{display:block}.neil-mobile-nav nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:flex-end;padding:0 var(--neil-gutter) 16px;background:#000;line-height:1.4;text-align:right}
/* Use the Projects page's compact outer spacing throughout the original layouts. */
body:has(.neil-header) #page .page-section{min-height:0!important;padding-block:0!important}
body:has(.neil-header) #page .page-section>.content-wrapper{padding-block:0!important}
body:has(.neil-header) #page .layout-engine-section>.content-wrapper{padding-block:var(--neil-page-space)!important}
body:has(.neil-header) #page .layout-engine-section:not(.full-bleed-section)>.content-wrapper{padding-inline:var(--neil-gutter)!important}
body:has(.neil-header) #page .full-bleed-section>.content-wrapper{padding-inline:0!important}
body:has(.neil-header) #page .portfolio-grid-basic,body:has(.neil-header) #page .gallery-grid{padding:var(--neil-page-space) var(--neil-gutter)!important;min-height:0!important}
body:has(.neil-header) #footer-sections .page-section{min-height:0!important}
body:has(.neil-header) #footer-sections .content-wrapper{padding-block:var(--neil-page-space)!important}
@media(max-width:767px){.neil-desktop-nav{display:none}.neil-mobile-nav{display:block}}
@media(max-width:767px){:root{--neil-gutter:6vw;--neil-page-space:20px}.neil-brand-seal{height:40px}.neil-brand-wordmark{gap:4px}.neil-brand-name{font-size:24px}.neil-brand-discipline{font-size:12px}}

/* Match the light Latin lettering with regular YaHei, including inherited bold headings. */
html body{font-synthesis:none}

/* Both language versions share the same layout and photography. */
html:not([data-language="zh"]) .lang-zh,html[data-language="zh"] .lang-en{display:none!important}
.neil-language{display:flex;align-items:center;flex:0 0 auto;line-height:1}
.neil-header .neil-language a{display:flex;align-items:center;justify-content:flex-end;min-width:28px;min-height:44px;padding:0;font-size:12px;letter-spacing:.04em;color:#aaa!important}
.neil-header .neil-language a:hover{color:#fff!important;text-decoration:none!important}
@media(max-width:850px){.neil-desktop-nav{display:none}.neil-mobile-nav{display:block;margin-left:auto}.neil-header{gap:12px}}
.neil-mobile-nav:not([open])>nav{display:none}
@media(max-width:380px){.neil-brand-seal{height:38px}.neil-brand-name{font-size:22px}.neil-logo{gap:8px}.neil-header{gap:8px}.neil-mobile-nav summary{width:32px}}
.neil-mobile-nav .neil-language{justify-content:flex-end;gap:4px;width:100%;margin-top:12px;padding-top:8px}
.neil-header .neil-mobile-nav .neil-language a{min-width:44px;font-size:12px;text-decoration:none!important}
