/* Shared Newsreader and Source Han typography for the portfolio.
   The renamed Chinese subsets retain Adobe's license and unchanged outlines. */
@font-face{font-family:"Newsreader";src:url("assets/fonts/editorial-draft/newsreader-roman.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:"Newsreader";src:url("assets/fonts/editorial-draft/newsreader-italic.woff2") format("woff2");font-style:italic;font-weight:200 800;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("assets/fonts/editorial-draft/hanken-grotesk-roman.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("assets/fonts/editorial-draft/hanken-grotesk-italic.woff2") format("woff2");font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:"Portfolio Han Sans";src:url("assets/fonts/editorial-draft/portfolio-han-sans-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2000-206F,U+3000-30FF,U+3400-9FFF,U+FF00-FFEF}
@font-face{font-family:"Portfolio Han Sans";src:url("assets/fonts/editorial-draft/portfolio-han-sans-medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+2000-206F,U+3000-30FF,U+3400-9FFF,U+FF00-FFEF}
@font-face{font-family:"Portfolio Han Serif";src:url("assets/fonts/editorial-draft/portfolio-han-serif-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2000-206F,U+3000-30FF,U+3400-9FFF,U+FF00-FFEF}

html,html[lang="zh-CN"]{
  --site-display:"Newsreader","Portfolio Han Sans",serif;
  --site-display-weight:400;
  --site-display-tracking:-.025em;
  --site-sans:"Hanken Grotesk","Portfolio Han Sans",sans-serif;
  --nz-serif:var(--site-display);
  --nz-sans:var(--site-sans);
  font-family:var(--site-sans);
}
html[lang="zh-CN"]{--site-display:"Portfolio Han Serif","Newsreader",serif;--site-display-weight:400;--site-display-tracking:0}
body,#ning-water-garden,.case-page{font-family:var(--site-sans)}

/* Site controls and supporting copy, without applying a universal reset to
   product screens, original logos, SVGs, or the embedded Yulan site. */
:is(.site-preferences,.site-preferences-panel select,.site-back-to-top,.site-back-home,.index-toggle,.chapter-rail button,.motion-control button,.catalog-count,.preview-index,.profile-date,.profile-pagination,.bf-label){font-family:var(--site-sans)}
#ning-water-garden :is(.curtain-enter,.moon-stage .moon-eyebrow,.flower-label,.profile-details h4,.profile-details p,.profile-links a,#flower-preview-description){font-family:var(--site-sans)}
#ning-water-garden .preview-type{font-family:var(--site-sans)!important}
#ning-water-garden :is(.ng-serif,.water-intro .entry-name,.shore-intro h2,.ng-section-head h2,.ng-practice h2,.ng-about h2,.preview-copy h3,.ng-project-toggle .ng-title,.ng-system-type>span,.ng-system-motion>span,.ng-system-rows>div>span),
.curtain-signature,.signature,.case-signature,
.collection-intro h1,.collection-section-head h2,.card-caption h2,.collection-contact h2,
.lib-hero-copy h1,.lib-section-heading h2,.nz-heading,
html[lang="zh-CN"] :is(.ng-section-head h2,.ng-practice h2,.ng-about h2,.lib-hero-copy h1,.lib-section-heading h2,.nz-heading){font-family:var(--site-display);font-weight:var(--site-display-weight);letter-spacing:var(--site-display-tracking);font-optical-sizing:auto}

/* The registered Chinese site name keeps its Chinese typography in every locale. */
html :is(.signature,.case-signature,.lib-brand)[lang="zh-CN"],
html #ning-water-garden .ng-wordmark[lang="zh-CN"]{
  font-family:"Portfolio Han Serif","Newsreader",serif;
  font-weight:400;
  font-style:normal;
  letter-spacing:0;
  font-optical-sizing:auto;
}

#ning-water-garden .shore-intro h2{font-size:clamp(76px,9vw,144px);line-height:1.02;letter-spacing:-.03em}
.curtain-signature{font-size:clamp(56px,6.2vw,96px);line-height:1.12;letter-spacing:-.025em}
#ning-water-garden .water-intro .entry-name{font-size:clamp(40px,5vw,72px);line-height:1.2;letter-spacing:-.015em}
#ning-water-garden .ng-section-head h2{font-size:clamp(44px,4.8vw,76px);line-height:1.1;text-wrap:balance}
#ning-water-garden .ng-practice h2{font-size:clamp(46px,5.5vw,84px);line-height:1.1;text-wrap:balance}
#ning-water-garden .ng-about h2{font-size:clamp(60px,7vw,102px);line-height:1.12;text-wrap:balance}
#ning-water-garden :is(.ng-system-intro>p,.ng-about>p){font-size:18px}
#ning-water-garden .ng-project-toggle .ng-title{line-height:1.3}
#ning-water-garden .ng-system-motion>span{font-style:normal}
html[lang="zh-CN"] #ning-water-garden .ng-section-head h2{font-size:clamp(44px,4.8vw,72px);line-height:1.25;letter-spacing:0}
html[lang="zh-CN"] #ning-water-garden .ng-practice h2{font-size:clamp(46px,5.5vw,80px);line-height:1.25;letter-spacing:0}
html[lang="zh-CN"] #ning-water-garden .ng-about h2{font-size:clamp(36px,6vw,86px);line-height:1.3;letter-spacing:0;max-width:1100px}
html[lang="zh-CN"] #ning-water-garden :is(.ng-eyebrow,.moon-eyebrow){letter-spacing:.035em}
.collection-intro h1{font-size:clamp(62px,7.9vw,116px);line-height:1.1;text-wrap:balance}
.collection-section-head h2,.collection-contact h2{line-height:1.3;text-wrap:balance}
html[lang="zh-CN"] :is(.collection-intro h1,.collection-section-head h2,.collection-contact h2){letter-spacing:0;line-height:1.4}

/* Case-study editorial headings only. Product identity specimens retain the
   exact font stacks defined by each project's original design system. */
.case-page:not([data-case="nexo"]) .case-intro h1,
html[lang="zh-CN"] .yl-case .case-intro h1{font-family:var(--site-display);font-weight:var(--site-display-weight);letter-spacing:var(--site-display-tracking);line-height:1.14;font-optical-sizing:auto}
.case-page :is(h2,h3):not(:where(.work-ds *,.nexo-ds *,.mood-ds *,.mood-device *,.mood-wrist *,.yl-design-system *)),
html[lang="zh-CN"] .case-page :is(h2,h3):not(:where(.work-ds *,.nexo-ds *,.mood-ds *,.mood-device *,.mood-wrist *,.yl-design-system *)),
.case-page :is(.case-intro-bottom>p,.case-footer strong,.fellou-direction-list dt,.nexo-prototype-link,.msu-margin-note,.mood-premise>span,.mood-premise>p){font-family:var(--site-display);font-weight:var(--site-display-weight);letter-spacing:var(--site-display-tracking);font-optical-sizing:auto}
.case-page :is(h2,h3):not(:where(.work-ds *,.nexo-ds *,.mood-ds *,.mood-device *,.mood-wrist *,.yl-design-system *)){text-wrap:balance;line-height:1.25}
html[lang="zh-CN"] .case-page :is(h2,h3):not(:where(.work-ds *,.nexo-ds *,.mood-ds *,.mood-device *,.mood-wrist *,.yl-design-system *)){letter-spacing:0;line-height:1.45}
.case-page :is(.nexo-film-play,.nexo-film-chapters button,.nexo-prototype-link small,.case-chapter-nav a){font-family:var(--site-sans)}

/* The library demonstrates the same type as the site, including nested demos. */
.nz-scope,html[lang="zh-CN"] .nz-scope{--nz-serif:var(--site-display);--nz-sans:var(--site-sans);font-family:var(--site-sans)}
.case-page .case-keyword-line,html[lang="zh-CN"] .case-page .case-keyword-line{font-family:var(--site-display);font-weight:400;font-optical-sizing:auto;letter-spacing:var(--site-display-tracking)}
html[lang="zh-CN"] .case-page .case-keyword-line .case-keyword,
html[lang="zh-CN"] .lib-type-layout em{font-style:normal}
html[lang="zh-CN"] .case-page .case-keyword-line .case-keyword{color:var(--case-gold)}

/* Lock original project/demo inheritance at their boundaries. */
:is(.work-ds,.nexo-ds,.mood-ds,.mood-device,.mood-wrist,.yl-design-system,.yl-mini,.nexo-screen){--nz-serif:Georgia,"Times New Roman",serif;--nz-sans:Arial,"Microsoft YaHei",sans-serif}
html[lang="zh-CN"] :is(.work-ds,.nexo-ds,.mood-ds,.mood-device,.mood-wrist,.yl-design-system,.yl-mini,.nexo-screen){--nz-serif:"Noto Serif SC","Source Han Serif SC",SimSun,serif;--nz-sans:"Microsoft YaHei","PingFang SC",Arial,sans-serif}
.yl-design-system,.yl-mini,.nexo-screen{font-family:Arial,"Microsoft YaHei",sans-serif}

@media(max-width:760px){
  #ning-water-garden .shore-intro h2{font-size:clamp(46px,13vw,62px);letter-spacing:-.035em}
  .curtain-signature{font-size:clamp(48px,13vw,68px)}
  #ning-water-garden .water-intro .entry-name{font-size:clamp(38px,10vw,54px)}
  #ning-water-garden :is(.ng-section-head h2,.ng-practice h2,.ng-about h2){font-size:clamp(42px,12vw,56px)}
  html[lang="zh-CN"] #ning-water-garden :is(.ng-section-head h2,.ng-practice h2,.ng-about h2){font-size:clamp(38px,10.8vw,50px)}
  #ning-water-garden :is(.ng-system-intro>p,.ng-about>p){font-size:17px}
  .collection-intro h1{font-size:clamp(48px,12vw,76px)}
  html[lang="zh-CN"] .collection-intro h1{font-size:clamp(40px,10.5vw,68px)}
  .case-page:not([data-case="nexo"]) .case-intro h1{font-size:clamp(52px,13vw,90px)}
  html[lang="zh-CN"] .yl-case .case-intro h1{font-size:clamp(44px,12vw,72px);line-height:1.4}
}
@media(max-width:760px) and (min-aspect-ratio:4/3),
       (min-width:640px) and (max-width:760px) and (min-height:540px) and (max-height:820px){
  #ning-water-garden .shore-intro h2{font-size:clamp(38px,6.8vw,50px)}
}

html[lang="zh-CN"] .curtain-signature{font-style:normal;letter-spacing:.04em}
