/* About-only layout. Shared navigation, buttons, and design tokens live upstream. */
.nw-about{background:#fff8f2;color:#3d3340;font-family:"Noto Sans","Noto Sans SC","Noto Sans TC",sans-serif;overflow:hidden}
.nw-about .nw-wrap{width:calc(100% - 160px);max-width:1280px;margin-inline:auto}
.nw-about .nw-about-heading{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:760px;margin:0}
.nw-about .nw-about-heading>*{margin:0}
.nw-about .nw-about-heading .nw-eyebrow{font:600 13px/1.4 "Noto Sans",sans-serif;letter-spacing:1.56px;color:#4e357c}
.nw-about .nw-about-heading h1,.nw-about .nw-about-heading h2{color:#3d3340;font-family:inherit;font-size:36px;font-weight:600;line-height:44px;letter-spacing:0;text-wrap:pretty}
.nw-about .nw-about-heading>p:last-child{color:#5d5060;font-size:17px;font-weight:400;line-height:28px}
.nw-about .nw-section{padding-block:64px}
.nw-about .nw-about-hero{position:relative;isolation:isolate;height:700px;background:#fff8f2}
.nw-about .nw-about-hero-art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.nw-about .nw-about-hero-canvas{position:absolute;width:1440px;height:700px;left:50%;bottom:0;transform:translateX(-50%)}
.nw-about .nw-about-hero-canvas>img{position:absolute;display:block;max-width:none}
.nw-about .nw-about-room{left:360px;top:0;width:1080px;height:700px;object-fit:cover;opacity:.96}
.nw-about .nw-about-copy-fade{position:absolute;left:0;top:0;width:940px;height:700px;background:linear-gradient(90deg,#fff8f2 0%,#fff8f2 46%,rgba(255,248,242,.72) 75%,transparent 100%)}
.nw-about .nw-about-edge-fade{position:absolute;left:1360px;top:0;width:80px;height:700px;background:linear-gradient(90deg,transparent,rgba(255,248,242,.9))}
.nw-about .nw-about-top-fade{position:absolute;left:360px;top:0;width:1080px;height:54px;background:linear-gradient(180deg,rgba(255,248,242,.8),transparent)}
.nw-about .nw-about-bottom-fade{position:absolute;left:360px;top:624px;width:1080px;height:76px;background:linear-gradient(180deg,transparent,rgba(255,248,242,.94))}
.nw-about .nw-about-atmosphere{left:800px;top:70px}
.nw-about .nw-about-shadow{left:438.75px;top:422px;mix-blend-mode:multiply}
.nw-about .nw-about-contact{left:908.5px;top:442.5px;mix-blend-mode:multiply}
.nw-about .nw-about-foot-left{left:919.2px;top:450.2px;mix-blend-mode:multiply}
.nw-about .nw-about-foot-right{left:956.2px;top:450.95px;mix-blend-mode:multiply}
.nw-about .nw-about-mascot{position:absolute;left:891.5px;top:220px;width:171px;height:237px}
.nw-about .nw-about-mascot img{display:block;max-width:none;transform:scale(.616);transform-origin:left top}
.nw-about .nw-about-hero-content{padding-top:130px}
.nw-about .nw-about-hero .nw-about-heading{max-width:650px}
.nw-about .nw-about-why{min-height:500px;padding-block:100px;background:#faefe7}
.nw-about .nw-about-why .nw-about-heading{max-width:1000px}
.nw-about .nw-about-beliefs{min-height:680px}
.nw-about .nw-about-belief-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin-top:140px;padding-right:20px}
.nw-about .nw-card{position:relative;background:linear-gradient(90deg,rgba(255,248,241,.76),rgba(255,248,241,.76)),linear-gradient(180deg,rgba(255,255,255,.02),transparent 50%,rgba(223,215,237,.009));border:1px solid rgba(255,250,245,.42);box-shadow:0 10px 28px -5px rgba(58,43,83,.1),inset 5px 7px 18px -2px rgba(102,82,124,.06),inset -2px -2px 8px -1px rgba(255,255,255,.04);backdrop-filter:blur(18px)}
.nw-about .nw-about-belief{min-height:250px;padding:23px;border-radius:24px}
.nw-about .nw-about-belief-accent{display:block;width:44px;height:6px;margin-bottom:18px;border-radius:999px;background:#f6b7b8}
.nw-about .nw-about-belief-2 .nw-about-belief-accent{background:#aebbff}
.nw-about .nw-about-belief-3 .nw-about-belief-accent{background:#91a38a}
.nw-about .nw-about-belief-4 .nw-about-belief-accent{background:#d7bed0}
.nw-about .nw-about-belief h3{min-height:56px;margin:0 0 12px;color:#3d3340;font-family:inherit;font-size:20px;font-weight:600;line-height:28px;letter-spacing:0}
.nw-about .nw-about-belief p{margin:0;color:#5d5060;font-size:14px;line-height:22px}
.nw-about .nw-about-vision,.nw-about .nw-about-closing{position:relative;isolation:isolate}
.nw-about .nw-about-vision{min-height:620px;background:#302842}
.nw-about .nw-about-scenery{position:absolute;inset:0 0 0 25%;z-index:-1;overflow:hidden;pointer-events:none}
.nw-about .nw-about-scenery img{width:100%;height:100%;display:block;object-fit:cover;opacity:.96}
.nw-about .nw-about-scenery:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff8f2 0%,rgba(255,248,242,.98) 12%,rgba(255,248,242,.72) 32%,transparent 54%,transparent 93%,rgba(255,248,242,.9) 100%),linear-gradient(180deg,rgba(255,248,242,.8),transparent 54px,transparent calc(100% - 76px),rgba(255,248,242,.94))}
.nw-about .nw-about-vision .nw-about-scenery:after{background:linear-gradient(90deg,#302842 0%,rgba(48,40,66,.98) 12%,rgba(48,40,66,.72) 32%,transparent 54%,transparent 93%,rgba(48,40,66,.9) 100%),linear-gradient(180deg,rgba(48,40,66,.8),transparent 54px,transparent calc(100% - 76px),rgba(48,40,66,.94))}
.nw-about .nw-about-vision .nw-about-scene-copy{padding-top:100px}
.nw-about .nw-about-vision .nw-about-heading{max-width:800px;gap:24px}
.nw-about .nw-about-vision .nw-eyebrow{color:#cbbfed}
.nw-about .nw-about-vision .nw-about-heading .nw-eyebrow{margin-bottom:8px}
.nw-about .nw-about-vision .nw-about-heading h2{color:#fff8f2;font-size:44px;line-height:56px}
.nw-about .nw-about-vision .nw-about-heading>p:last-child{max-width:680px;color:#d7cedd}
.nw-about .nw-about-team{min-height:1280px;background:#faefe7;padding-bottom:60px}
.nw-about .nw-about-team-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:80px;row-gap:30px;margin:140px 40px 0}
.nw-about .nw-about-member{grid-column:span 2;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:430px;padding:28px 20px;border-radius:28px;text-align:center}
.nw-about .nw-about-member:nth-child(4){grid-column:2/span 2}
.nw-about .nw-about-member:nth-child(5){grid-column:4/span 2}
.nw-about .nw-about-portrait-frame{width:210px;height:210px;max-width:100%;flex-shrink:0;overflow:hidden;border-radius:50%;background:#f2e8e4}
.nw-about .nw-about-portrait{display:block;width:100%;height:100%;object-fit:cover}
.nw-about .nw-about-portrait-daniel{object-position:50% 30%}
.nw-about .nw-about-portrait-linda{object-position:85% 50%}
.nw-about .nw-about-portrait-han{object-position:52% 50%}
.nw-about .nw-about-portrait-chengcheng{object-position:50% 35%}
.nw-about .nw-about-portrait-pearl{object-position:50% 42%}
.nw-about .nw-about-member h3{margin:0;color:#3d3340;font-family:inherit;font-size:22px;font-weight:600;line-height:30px;letter-spacing:0}
.nw-about .nw-about-member-role{margin:0;color:#4e357c;font-size:15px;font-weight:500;line-height:22px}
.nw-about .nw-about-member-bio{margin:0;color:#5d5060;font-size:14px;font-weight:400;line-height:21px}
.nw-about .nw-about-closing{min-height:480px;padding:0;background:#fff8f2}
.nw-about .nw-about-closing .nw-about-scene-copy{padding-top:90px;padding-bottom:60px}
.nw-about .nw-about-closing .nw-about-heading{max-width:720px}
.nw-about .nw-about-closing .nw-button{margin-top:38px}
@media(min-width:1600px){.nw-about .nw-about-hero-canvas{transform:translateX(-50%) scale(1.12);transform-origin:center bottom}}
@media(max-width:1100px){
  .nw-about .nw-wrap{width:calc(100% - 80px)}
  .nw-about .nw-about-hero .nw-about-heading{max-width:54%}
  .nw-about .nw-about-belief-grid{gap:20px;padding:0}
  .nw-about .nw-about-team-grid{column-gap:24px;margin-inline:0}
  .nw-about .nw-about-member{padding-inline:18px}
  .nw-about .nw-about-portrait-frame{width:180px;height:180px}
  .nw-about .nw-about-vision .nw-about-heading{max-width:75%}
}
@media(max-width:760px){
  .nw-about .nw-wrap{width:calc(100% - 40px)}
  .nw-about .nw-section{padding-block:64px}
  .nw-about .nw-about-heading{gap:12px;max-width:none}
  .nw-about .nw-about-heading .nw-eyebrow{font-size:12px;letter-spacing:1.2px}
  .nw-about .nw-about-heading h1,.nw-about .nw-about-heading h2{font-size:30px;line-height:39px}
  .nw-about .nw-about-heading>p:last-child{font-size:16px;line-height:27px}
  .nw-about .nw-about-hero{height:auto;min-height:calc(360px + 64.8148vw)}
  .nw-about .nw-about-hero-content{padding-top:52px}
  .nw-about .nw-about-hero .nw-about-heading{max-width:none}
  /* Reflow the desktop scene intact, rather than crop out its shadow or room. */
  .nw-about .nw-about-hero-canvas{left:auto;right:0;width:133.333333%;height:auto;aspect-ratio:1440/700;transform:none}
  .nw-about .nw-about-room{left:25%;top:0;width:75%;height:100%}
  .nw-about .nw-about-copy-fade{left:0;top:0;width:65.277778%;height:100%}
  .nw-about .nw-about-edge-fade{left:94.444444%;top:0;width:5.555556%;height:100%}
  .nw-about .nw-about-top-fade{left:25%;top:0;width:75%;height:7.714286%}
  .nw-about .nw-about-bottom-fade{left:25%;top:89.142857%;width:75%;height:10.857143%}
  .nw-about .nw-about-atmosphere{left:55.555556%;top:10%;width:38.888889%;height:auto}
  .nw-about .nw-about-shadow{left:30.46875%;top:60.285714%;width:39.583333%;height:auto}
  .nw-about .nw-about-contact{left:63.090278%;top:63.214286%;width:5.763889%;height:auto}
  .nw-about .nw-about-foot-left{left:63.833333%;top:64.314286%;width:1.777778%;height:auto}
  .nw-about .nw-about-foot-right{left:66.402778%;top:64.421429%;width:1.847222%;height:auto}
  .nw-about .nw-about-mascot{left:61.909722%;top:31.428571%;width:11.875%;height:auto}
  .nw-about .nw-about-mascot img{width:100%;height:auto;transform:none}
  .nw-about .nw-about-hero-art:after{content:"";position:absolute;left:0;right:0;top:360px;height:54px;background:linear-gradient(180deg,#fff8f2,transparent)}
  .nw-about .nw-about-why{min-height:0}
  .nw-about .nw-about-beliefs{min-height:0}
  .nw-about .nw-about-belief-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:36px}
  .nw-about .nw-about-belief{min-height:255px;padding:20px 17px}
  .nw-about .nw-about-belief h3{font-size:18px;line-height:25px;min-height:50px}
  .nw-about .nw-about-belief p{font-size:14px;line-height:22px}
  .nw-about .nw-about-vision{min-height:calc(400px + 57.407407vw)}
  .nw-about .nw-about-vision .nw-about-scene-copy{padding-top:64px}
  .nw-about .nw-about-vision .nw-about-heading{max-width:none;gap:20px}
  .nw-about .nw-about-vision .nw-about-heading h2{font-size:32px;line-height:42px}
  .nw-about .nw-about-scenery{inset:auto 0 0;height:auto;aspect-ratio:1080/620}
  .nw-about .nw-about-scenery img{object-position:center}
  .nw-about .nw-about-scenery:after{background:linear-gradient(180deg,#fff8f2,rgba(255,248,242,.35) 20%,transparent 50%,rgba(255,248,242,.94)),linear-gradient(90deg,rgba(255,248,242,.2),transparent 70%,rgba(255,248,242,.35))}
  .nw-about .nw-about-vision .nw-about-scenery:after{background:linear-gradient(180deg,#302842,rgba(48,40,66,.45) 20%,transparent 50%,rgba(48,40,66,.94)),linear-gradient(90deg,rgba(48,40,66,.2),transparent 70%,rgba(48,40,66,.35))}
  .nw-about .nw-about-team{min-height:0}
  .nw-about .nw-about-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px}
  .nw-about .nw-about-member,.nw-about .nw-about-member:nth-child(4),.nw-about .nw-about-member:nth-child(5){grid-column:auto;min-height:0;padding:24px 18px}
  .nw-about .nw-about-member:nth-child(5){grid-column:1/-1;width:calc(50% - 10px);justify-self:center}
  .nw-about .nw-about-portrait-frame{width:160px;height:160px}
  .nw-about .nw-about-member h3{font-size:20px;line-height:27px}
  .nw-about .nw-about-member-role{font-size:14px;line-height:21px}
  .nw-about .nw-about-closing{min-height:calc(400px + 44.444444vw)}
  .nw-about .nw-about-closing .nw-about-scene-copy{padding-top:64px}
  .nw-about .nw-about-closing .nw-about-scenery{inset:auto 0 0;aspect-ratio:1080/480}
  .nw-about .nw-about-closing .nw-about-heading{max-width:none}
  .nw-about .nw-about-closing .nw-button{margin-top:28px}
}
@media(max-width:480px){
  .nw-about .nw-about-belief-grid{grid-template-columns:1fr}
  .nw-about .nw-about-belief{min-height:200px;padding:24px}
  .nw-about .nw-about-belief h3{min-height:0;margin-bottom:14px;font-size:20px;line-height:28px}
  .nw-about .nw-about-team-grid{grid-template-columns:1fr;gap:24px}
  .nw-about .nw-about-member,.nw-about .nw-about-member:nth-child(5){grid-column:1;width:100%;min-height:430px;padding:28px 24px}
  .nw-about .nw-about-portrait-frame{width:210px;height:210px}
  .nw-about .nw-about-member h3{font-size:22px;line-height:30px}
  .nw-about .nw-about-member-role{font-size:15px;line-height:22px}
  .nw-about .nw-about-member-bio{max-width:310px}
}
