
@import "./cover.css";
:root { --ink:#191b17; --night:#111410; --paper:#f3f1ec; --paper-2:#e9e6df; --white:#f7f6ef; --muted:#696c63; --line:rgba(25,27,23,.16); --line-dark:rgba(247,246,239,.18); --ember:#aa4927; --max:1360px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a,summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
img,video { display:block; width:100%; }
figure,ol,ul,dl { margin:0; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { font-weight:550; line-height:1.3; text-wrap:balance; }
:focus-visible { outline:2px solid #bd643d; outline-offset:6px; }
::selection { color:var(--white); background:var(--ember); }
.wrap { width:min(var(--max),calc(100% - clamp(40px,8vw,128px))); margin-inline:auto; }
.overline { margin-bottom:22px; color:var(--muted); font:500 13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.overline.accent { color:var(--ember); }
.lead { color:#4b5046; font-size:19px; line-height:1.85; }
.body-copy { color:#555a50; line-height:1.9; }
.body-copy + .body-copy,.lead + .body-copy { margin-top:20px; }
.subtle { color:var(--muted); font-size:14px; line-height:1.8; }
.spaced { margin-top:24px; }
.tag-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.status-tag { display:inline-block; padding:6px 10px; color:#515c49; border:1px solid rgba(81,92,73,.28); font-size:13px; line-height:1.6; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:12px 20px; background:var(--paper); }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:50; height:76px; padding:0 clamp(20px,4vw,64px); display:flex; align-items:center; justify-content:space-between; gap:24px; color:var(--white); background:rgba(17,20,16,.95); border-bottom:1px solid var(--line-dark); backdrop-filter:blur(18px); }
.brand { display:flex; gap:14px; align-items:baseline; font-size:18px; font-weight:600; white-space:nowrap; }
.brand small { color:#a8b09f; font:12px/1.4 ui-monospace,Consolas,monospace; letter-spacing:.08em; }
nav { display:flex; gap:clamp(16px,2.3vw,34px); align-items:center; font-size:14px; }
nav a { transition:color .2s ease; }
.site-header nav a { color:#c1c5ba; }.site-header nav a:hover { color:var(--white); }
.nav-contact { padding:6px 0; border-bottom:1px solid #c1c5ba; }.nav-contact span { margin-left:12px; }
.numbers { color:var(--white); background:#1d241b; }.numbers-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.numbers article { padding:36px 24px; border-right:1px solid var(--line-dark); }.numbers article:first-child { padding-left:0; }.numbers article:last-child { border:0; }
.numbers strong { display:block; font-size:clamp(28px,3.1vw,46px); line-height:1.3; font-weight:500; letter-spacing:-.04em; white-space:nowrap; }
.numbers sup { font-size:.5em; color:#b6c59a; }.numbers em { font-size:.8em; font-style:normal; color:#b6c59a; }.numbers p { margin-top:9px; font-size:14px; color:#b3bda9; }
.focus-section { padding-block:88px; }.focus-heading { display:grid; grid-template-columns:1fr 1fr; gap:12px 50px; align-items:center; margin-bottom:36px; }
.focus-heading .overline { grid-column:1/-1; margin-bottom:0; }.focus-heading h2 { font-size:30px; }.focus-heading > p:last-child { color:var(--muted); justify-self:end; }
.focus-grid { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--line); }.focus-item { display:block; padding:30px 0; }
.focus-item + .focus-item { border-left:1px solid var(--line); padding-left:45px; margin-left:45px; }
.focus-item > span,.focus-item small { color:var(--muted); font-size:13px; }.focus-item > span { font-family:ui-monospace,Consolas,monospace; }
.focus-item h3 { margin-top:15px; display:flex; justify-content:space-between; padding-right:30px; gap:18px; font-size:23px; }.focus-item h3 span { color:var(--ember); }.focus-item p { margin:13px 0 8px; font-size:15px; color:#51594b; }.focus-item:hover h3 { color:var(--ember); }
.section-head { margin-bottom:45px; }.split-head { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,105px); align-items:end; }
.section-head h2 { font-size:clamp(30px,3.4vw,48px); letter-spacing:-.025em; }.section-head h2 > span { display:block; margin-top:10px; font-size:.64em; letter-spacing:.02em; }.section-head h3 { font-size:clamp(28px,3vw,42px); letter-spacing:-.02em; }
.case-section { padding-top:20px; }.project-frame img { object-fit:contain; background:var(--paper-2); aspect-ratio:16/9; }
.project-frame figcaption { padding-top:13px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:13px; }.project-frame figcaption b { font-weight:500; color:#4e5747; }
.responsibility { margin-top:50px; display:grid; grid-template-columns:.8fr 1.2fr; gap:35px 70px; }.responsibility h3 { font-size:25px; }.responsibility dl { border-top:1px solid var(--line); }
.responsibility dl > div { padding:16px 0; display:grid; grid-template-columns:100px 1fr; gap:20px; border-bottom:1px solid var(--line); font-size:15px; }.responsibility dt { color:var(--muted); }.responsibility dd { margin:0; }
.role-boundary { color:var(--muted); font-size:14px; line-height:1.85; padding:20px 0; border-top:1px solid var(--line); }.responsibility .role-boundary { grid-column:1/-1; }
.case-index { margin-top:26px; padding-block:18px; display:flex; justify-content:space-between; gap:15px; border-block:1px solid var(--line); font-size:14px; color:#555d4c; }.case-index a:hover { color:var(--ember); }
.case-chapter { padding-block:clamp(72px,8vw,110px); }.case-chapter + .case-chapter:not(.dark-chapter) { border-top:1px solid var(--line); }
.dark-chapter { background:var(--night); color:var(--white); }.dark-chapter .overline.accent,.contact-section .overline.accent,.life-section .overline.accent { color:#b7c698; }.dark-chapter .lead { color:#b5bfac; }.dark-chapter .subtle { color:#a3ae99; }.dark-chapter .status-tag { color:#b9c7aa; border-color:#48543d; }
.technical-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:center; }.chapter-copy h3 { font-size:clamp(28px,3vw,42px); margin-bottom:25px; }.chapter-copy > p:not(.overline) { color:#b5bfac; font-size:16px; line-height:1.9; }.chapter-copy .subtle { margin-top:22px; font-size:13px!important; }
.cutaway-frame img { aspect-ratio:16/11; object-fit:contain; }.cutaway-frame figcaption,.drawing-frame figcaption { margin-top:16px; font-size:13px; color:#98a48d; }
.airflow-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:50px; align-items:center; }.airflow-list { list-style:none; padding:0; border-top:1px solid var(--line-dark); }
.airflow-list li { display:grid; grid-template-columns:45px 1fr; gap:12px; padding:20px 0; border-bottom:1px solid var(--line-dark); }.airflow-list li > span { font:14px ui-monospace,Consolas,monospace; color:#b7c698; padding-top:4px; }.airflow-list h4 { font-size:18px; margin-bottom:5px; }.airflow-list p { color:#a6b19c; font-size:15px; }.drawing-frame img { padding:20px; background:#f9f9f7; object-fit:contain; }
.temperature-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }.temperature-observation { padding:30px; background:#e8ebe2; }.temperature-observation h4 { font-size:21px; margin-bottom:20px; }.temperature-observation ul { padding-left:20px; color:#525a4a; }.temperature-observation li { margin-bottom:10px; }.temperature-observation .subtle { padding-top:20px; margin-top:25px; border-top:1px solid var(--line); }
.validation-list { padding:0; list-style:none; border-top:1px solid var(--line); }.validation-list li { padding:20px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:42px 1fr; gap:16px; }.validation-list li > span { color:var(--ember); font:14px ui-monospace,Consolas,monospace; padding-top:5px; }.validation-list h4 { font-size:19px; }.validation-list p { color:#5b6252; margin-top:7px; font-size:15px; }
.technical-detail { margin-top:35px; border-block:1px solid var(--line); }.technical-detail summary { cursor:pointer; display:flex; justify-content:space-between; gap:22px; padding:20px 0; font-size:15px; list-style:none; }.technical-detail summary::-webkit-details-marker { display:none; }.technical-detail summary span { color:var(--ember); font-size:23px; line-height:1; }.technical-detail[open] summary span { transform:rotate(45deg); }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px 50px; padding:12px 0 28px; }.detail-grid h4 { margin-bottom:10px; font-size:18px; }.detail-grid p { color:var(--muted); font-size:15px; }.detail-note { grid-column:1/-1; padding:18px 20px; font-size:14px; color:#575f4d; background:#e8ebe2; }
.module-chapter { background:#e9e7e0; }.module-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }.module-grid figure > div { aspect-ratio:4/3; background:#dcded4; display:grid; place-items:center; overflow:hidden; }.module-grid img { height:100%; object-fit:contain; }.module-grid figcaption { padding-top:17px; }.module-grid b { font-size:18px; font-weight:500; }.module-grid figcaption span { display:block; color:var(--muted); font-size:14px; margin-top:4px; }
.states-heading { margin-top:65px; margin-bottom:30px; display:flex; justify-content:space-between; gap:28px; align-items:end; }.states-heading .overline { margin-bottom:12px; }.states-heading h4 { font-size:25px; }
.state-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.state-grid figure > div { aspect-ratio:16/11; background:white; }.state-grid img { height:100%; object-fit:contain; }.state-grid figcaption { padding-top:18px; }.state-grid b { display:block; font:14px ui-monospace,Consolas,monospace; letter-spacing:.05em; }.state-grid figcaption span { display:block; color:var(--muted); font-size:15px; margin-top:8px; }.module-note { margin-top:25px; color:var(--muted); font-size:14px; }
.iteration-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; list-style:none; border-top:1px solid var(--line); margin-bottom:45px; }.iteration-timeline li { position:relative; padding:25px 20px 15px 0; }.iteration-timeline li::before { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:var(--ember); }.iteration-timeline time { font:14px ui-monospace,Consolas,monospace; color:var(--ember); }.iteration-timeline h4 { margin:12px 0 8px; font-size:22px; }.iteration-timeline p { color:var(--muted); font-size:15px; }
.issues-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px 25px; }.issue-card a { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#d8ded2; }.issue-card img { height:100%; object-fit:contain; }.issue-card a > span { position:absolute; right:10px; bottom:10px; padding:3px 8px; color:#edf0e8; background:rgba(17,20,16,.8); font-size:12px; }.issue-card figcaption { padding:17px 0 20px; border-bottom:1px solid var(--line); }.issue-card figcaption > span { color:var(--ember); font:13px ui-monospace,Consolas,monospace; }.issue-card h4 { font-size:20px; margin:8px 0; }.issue-card p { color:var(--muted); font-size:14px; }.g0-grid { grid-template-columns:repeat(4,1fr); }
.qc-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }.qc-grid article { border-top:2px solid #8f9f78; padding-top:25px; }.qc-grid article > span { font:14px ui-monospace,Consolas,monospace; color:#b7c698; }.qc-grid h4 { font-size:26px; margin:16px 0; }.qc-grid p { color:#b5bfac; max-width:470px; }.qc-grid ul { margin-top:23px; padding:0; list-style:none; color:#a0ad95; font-size:15px; }.qc-grid li { padding:11px 0; border-bottom:1px solid var(--line-dark); }
.common-baseline { margin-top:35px; display:grid; grid-template-columns:.7fr 1.3fr; gap:30px; padding:22px 0; border-block:1px solid var(--line-dark); }.common-baseline span { color:#b7c698; font:13px/1.7 ui-monospace,Consolas,monospace; }.common-baseline p { color:#b5bfac; font-size:15px; }
.working-model { margin-top:65px; display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }.working-model h4 { font-size:29px; margin-bottom:18px; }.process-list { padding:0; list-style:none; border-top:1px solid var(--line-dark); }.process-list li { padding:18px 0; display:grid; grid-template-columns:42px 1fr; gap:16px; border-bottom:1px solid var(--line-dark); }.process-list li > span { color:#b7c698; font:14px ui-monospace,Consolas,monospace; padding-top:5px; }.process-list h4 { font-size:19px; margin:0; }.process-list p { margin-top:7px; color:#a0ad95; font-size:15px; }
.patent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); margin-bottom:30px; }.patent-grid article { padding:26px 30px 20px 0; }.patent-grid article + article { padding-left:30px; border-left:1px solid var(--line); }.patent-grid strong { display:block; color:var(--ember); font-size:54px; line-height:1.1; font-weight:500; }.patent-grid h4 { font-size:21px; margin:15px 0 14px; }.patent-grid p { font-size:15px; color:#525a4b; }.patent-grid p span { color:var(--muted); font-size:13px; }
.content-section,.works-section,.about-section,.life-section { padding-block:clamp(78px,8vw,120px); }
.content-section { background:#e6e9df; }.film-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:start; }.video-shell { aspect-ratio:4/3; display:grid; place-items:center; background:#080b07; overflow:hidden; }.video-shell video { height:100%; max-height:65vh; object-fit:contain; }.film-caption { padding:22px 0; border-bottom:1px solid var(--line); }.film-caption > span { color:var(--ember); font:13px/1.6 ui-monospace,Consolas,monospace; }.film-caption h3 { font-size:22px; margin:12px 0; }.film-caption p { font-size:15px; color:var(--muted); }
.works-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px 35px; }.work-card.featured { grid-column:1/-1; }.image-stage { display:grid; place-items:center; aspect-ratio:16/9; background:#e4e1d8; overflow:hidden; }.image-stage img { height:100%; object-fit:contain; transition:transform .4s; }.image-stage:hover img { transform:scale(1.012); }.work-card figcaption { display:grid; grid-template-columns:30px 1fr auto; gap:12px; padding:20px 0; border-bottom:1px solid var(--line); }.work-card figcaption > span { color:var(--ember); font:13px/1.6 ui-monospace,Consolas,monospace; }.work-card h3 { font-size:21px; }.work-card p { color:var(--muted); font-size:14px; margin-top:7px; }.award-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }.award-tags span { padding:5px 9px; border:1px solid #aab39e; color:#526244; font-size:13px; }
.about-section { background:#e9e7e0; }.about-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(40px,7vw,100px); }.portrait-wrap { max-width:420px; }.portrait-wrap img { aspect-ratio:3/4; object-fit:cover; object-position:center top; filter:saturate(.7); }.portrait-wrap figcaption { margin-top:13px; color:var(--muted); font:13px/1.6 ui-monospace,Consolas,monospace; }.about-copy h2 { font-size:clamp(30px,3.3vw,45px); margin-bottom:28px; }.about-copy .lead { font-size:18px; }.about-data { display:grid; grid-template-columns:1fr 1fr; margin-top:30px; border-top:1px solid var(--line); }.about-data > div { padding:17px 20px 17px 0; border-bottom:1px solid var(--line); }.about-data dt { color:var(--muted); font-size:13px; margin-bottom:8px; }.about-data dd { margin:0; font-size:14px; }.career-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:70px; }.career-grid article { padding:22px 0; border-top:1px solid var(--line); }.career-grid time { color:var(--muted); font:13px ui-monospace,Consolas,monospace; }.career-grid h3 { font-size:20px; margin:12px 0; }.career-grid p { font-size:15px; color:var(--muted); }.career-grid .award { display:flex; gap:20px; justify-content:space-between; align-items:center; }.award h3 { font-size:17px; margin:0; }.award b { font-size:14px; color:var(--ember); font-weight:500; white-space:nowrap; }
.life-section { background:#171d14; color:var(--white); }.life-section .lead { color:#b1bca6; }.life-section .subtle { color:#8f9c83; margin-top:12px; }.photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 20px; }.photo-stage { display:block; aspect-ratio:16/9; overflow:hidden; background:#222c1d; }.photo-stage img { height:100%; object-fit:cover; object-position:center; transition:transform .45s; }.photo-stage:hover img { transform:scale(1.018); }.photo-item:nth-child(3) img { object-position:50% 72%; }.photo-item:nth-child(6) img { object-position:50% 70%; }.photo-item:nth-child(11) img { object-position:50% 76%; }.photo-item figcaption { display:flex; gap:12px; padding-top:12px; color:#a0ad95; font-size:12px; line-height:1.6; }.photo-item figcaption > span { color:#839277; font-family:ui-monospace,Consolas,monospace; }.photo-item b { font-weight:400; }
.training-feature { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-top:70px; padding-top:45px; border-top:1px solid var(--line-dark); }.training-feature h3 { font-size:30px; margin-bottom:22px; }.training-feature p:not(.overline) { color:#a0ad95; max-width:460px; }.training-feature figure { max-width:450px; justify-self:end; }.training-feature img { object-fit:contain; }
.contact-section { padding-top:90px; background:var(--night); color:var(--white); }.contact-layout { display:grid; grid-template-columns:1fr .45fr; gap:70px; align-items:center; }.contact-section h2 { font-size:clamp(28px,3vw,41px); margin-bottom:20px; }.contact-section .subtle { color:#a0ad95; }.contact-grid { border-top:1px solid var(--line-dark); margin-top:30px; }.contact-grid a { display:grid; grid-template-columns:60px 1fr auto; gap:20px; align-items:center; padding:17px 0; border-bottom:1px solid var(--line-dark); }.contact-grid a > span:first-child { color:#8f9c83; font-size:14px; }.contact-grid b { font-size:18px; font-weight:500; overflow-wrap:anywhere; }.contact-grid a:hover b { color:#bdcdaa; }
.contact-qr { width:min(100%,235px); justify-self:end; }.contact-qr-crop { position:relative; aspect-ratio:1; overflow:hidden; mix-blend-mode:screen; }.contact-qr-crop img { position:absolute; top:-59.25%; left:-18.87%; width:137.61%; max-width:none; height:auto; filter:grayscale(1) invert(1) contrast(3) brightness(2); }.contact-qr figcaption { margin-top:20px; color:#a0ad95; font:12px/1.6 ui-monospace,Consolas,monospace; text-align:center; }.contact-section footer { display:flex; justify-content:space-between; gap:20px; color:#94a087; margin-top:70px; min-height:88px; align-items:center; border-top:1px solid var(--line-dark); font-size:13px; }
@media (max-width:1100px) { .site-header nav { gap:18px; }.brand small { display:none; }.hero-content { gap:25px; }.hero-case-card { max-width:300px; }.numbers article { padding-inline:20px; }.split-head { gap:45px; }.g0-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .site-header { height:66px; }.site-header nav a:not(.nav-contact) { display:none; }.hero { min-height:auto; }.hero-content { min-height:760px; grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:35px; padding-top:45px; }.hero-intro { max-width:600px; }.hero-case-card { justify-self:start; margin:0; width:min(100%,400px); max-width:none; }.hero-bottom { margin-top:0; }.hero-shade { background:linear-gradient(90deg,rgba(6,12,6,.95),rgba(6,12,6,.72) 65%,rgba(6,12,6,.35)),linear-gradient(0deg,rgba(6,12,6,.8),transparent); }.hero-scene > img { object-position:70% center; }.numbers-grid { grid-template-columns:1fr 1fr; }.numbers article { border-bottom:1px solid var(--line-dark); }.numbers article:nth-child(2) { border-right:0; }.numbers article:nth-child(3) { padding-left:0; }.numbers article:last-child { border-bottom:1px solid var(--line-dark); }.split-head,.technical-grid,.airflow-grid,.temperature-grid,.about-grid { grid-template-columns:1fr; gap:30px; }.focus-heading { grid-template-columns:1fr; }.focus-heading > p:last-child { justify-self:start; }.responsibility { grid-template-columns:1fr; gap:25px; }.case-index { flex-wrap:wrap; justify-content:flex-start; gap:15px 25px; }.module-grid { grid-template-columns:1fr 1fr; gap:30px; }.issues-grid { grid-template-columns:1fr 1fr; }.qc-grid,.working-model { gap:35px; }.common-baseline { grid-template-columns:1fr; gap:12px; }.photo-grid { grid-template-columns:1fr 1fr; }.portrait-wrap { max-width:320px; }.contact-layout { grid-template-columns:1fr .5fr; gap:40px; } }
@media (max-width:640px) {
 html { scroll-padding-top:82px; }.wrap { width:calc(100% - 36px); }.site-header { padding-inline:18px; }.hero-content { min-height:0; padding-block:35px 25px; gap:30px; }.hero-intro > .overline { font-size:11px; }.hero-identity { gap:18px; margin-bottom:28px; }.hero-identity img { width:86px; height:108px; }.hero-identity h1 { font-size:42px; }.hero-identity span { font-size:11px; }.hero-intro h2 { font-size:27px; }.hero-role { font-size:14px; }.hero-summary { font-size:16px; margin-top:22px; }.hero-note { font-size:13px; }.hero-actions { gap:20px; margin-top:26px; }.button { gap:20px; font-size:13px; }.hero-case-card { padding:18px; }.hero-bottom { font-size:10px; gap:15px; }.hero-bottom span { max-width:200px; }.numbers article { padding:26px 10px 25px 18px; }.numbers strong { font-size:29px; }.numbers p { font-size:12px; }
 .focus-section { padding-block:60px; }.focus-heading h2 { font-size:26px; }.focus-grid { grid-template-columns:1fr; }.focus-item + .focus-item { margin:0; padding:26px 0; border-left:0; border-top:1px solid var(--line); }.focus-item h3 { font-size:22px; }.focus-item p { font-size:14px; }.section-head { margin-bottom:30px; }.section-head h2 { font-size:30px; }.section-head h3,.chapter-copy h3 { font-size:28px; }.lead { font-size:17px; }.overline { font-size:12px; margin-bottom:18px; }.status-tag { font-size:12px; }.project-frame figcaption { flex-direction:column; gap:4px; font-size:12px; }.responsibility { margin-top:30px; }.responsibility h3 { font-size:23px; }.responsibility dl > div { grid-template-columns:78px 1fr; gap:10px; font-size:14px; }.role-boundary { font-size:13px; }.case-index { margin-top:16px; gap:14px 21px; font-size:13px; }.case-chapter { padding-block:60px; }.airflow-grid { margin-top:30px; }.drawing-frame img { padding:10px; }.temperature-observation { padding:23px; }.temperature-observation h4 { font-size:20px; }.detail-grid,.g0-grid { grid-template-columns:1fr; gap:24px; }.technical-detail summary { font-size:14px; }.detail-note { font-size:13px; }
 .module-grid { gap:26px 14px; }.module-grid b { font-size:17px; }.module-grid figcaption span { font-size:13px; }.states-heading { display:block; margin-top:45px; }.states-heading h4 { font-size:23px; }.states-heading .status-tag { margin-top:15px; }.state-grid { grid-template-columns:1fr; gap:30px; }.state-grid figure > div { aspect-ratio:16/10; }.module-note { font-size:13px; }.iteration-timeline { grid-template-columns:1fr; border-top:0; border-left:1px solid var(--line); margin-bottom:30px; }.iteration-timeline li { padding:0 0 25px 25px; }.iteration-timeline li::before { top:7px; left:-5px; }.iteration-timeline li:last-child { padding-bottom:0; }.iteration-timeline h4 { margin:9px 0 6px; font-size:21px; }.issues-grid { gap:26px 14px; }.issue-card a { aspect-ratio:3/4; }.issue-card a > span { font-size:10px; right:5px; bottom:5px; }.issue-card figcaption > span { font-size:11px; }.issue-card h4 { font-size:17px; }.issue-card p { font-size:13px; }
 .qc-grid,.working-model { grid-template-columns:1fr; gap:35px; }.qc-grid h4 { font-size:24px; }.working-model { margin-top:45px; }.working-model h4 { font-size:26px; }.process-list h4 { font-size:18px; }.patent-grid { grid-template-columns:1fr; margin-bottom:15px; }.patent-grid article { display:grid; grid-template-columns:60px 1fr; gap:8px 20px; padding:25px 0; border-bottom:1px solid var(--line); }.patent-grid article + article { border-left:0; padding-left:0; }.patent-grid strong { grid-row:1/3; font-size:44px; }.patent-grid h4 { margin:0; font-size:19px; }.patent-grid p { font-size:14px; }
 .content-section,.works-section,.about-section,.life-section { padding-block:60px; }.film-grid,.works-grid,.career-grid,.training-feature,.contact-layout { grid-template-columns:1fr; gap:35px; }.film-caption h3 { font-size:21px; }.film-caption p { font-size:14px; }.work-card h3 { font-size:19px; }.work-card figcaption { gap:8px; grid-template-columns:25px 1fr auto; }.award-tags span { font-size:12px; }.about-copy h2 { font-size:30px; }.about-copy .lead { font-size:17px; }.about-data { grid-template-columns:1fr; }.about-data > div { padding-right:0; }.career-grid { margin-top:45px; }.career-grid .overline { margin-bottom:18px; }.award h3 { font-size:16px; }.photo-grid { gap:24px 13px; }.photo-item figcaption { font-size:11px; gap:7px; flex-direction:column; }.training-feature { margin-top:45px; padding-top:35px; }.training-feature h3 { font-size:26px; }.training-feature figure { justify-self:start; max-width:400px; }.contact-section { padding-top:60px; }.contact-section h2 { font-size:28px; }.contact-grid a { grid-template-columns:40px 1fr auto; gap:10px; }.contact-grid b { font-size:16px; }.contact-qr { justify-self:start; width:200px; margin-top:10px; }.contact-section footer { margin-top:45px; font-size:11px; min-height:80px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

:root { --ink:#202124; --night:#efefeb; --paper:#f7f7f3; --paper-2:#eeefeb; --white:#fff; --muted:#686b70; --line:rgba(32,33,36,.14); --line-dark:rgba(32,33,36,.14); --ember:#50555d; }
body { font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif; }
::selection { color:#fff; background:#50555d; }
:focus-visible { outline-color:#525a66; }
.site-header { height:80px; color:var(--ink); background:rgba(247,247,243,.9); border-color:var(--line); backdrop-filter:blur(22px); }
.brand { gap:12px; font-size:14px; letter-spacing:.045em; font-weight:500; }
.brand small { color:var(--muted); font:12px Arial,"PingFang SC",sans-serif; letter-spacing:.08em; }
.site-header nav a { color:#686b70; }
.site-header nav a:hover { color:#202124; }
.nav-contact { border-color:#8d9197; }
.cover { --pointer-x:0; --pointer-y:0; position:relative; overflow:hidden; isolation:isolate; background:var(--paper); }
.cover-layout { position:relative; min-height:min(880px,calc(100svh - 80px)); display:grid; grid-template-columns:1fr 290px; grid-template-rows:auto 1fr auto; padding-block:29px 24px; }
.cover-topline { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; color:#7b7e82; font:10px/1.5 Arial,sans-serif; letter-spacing:.12em; }
.cover-copy { z-index:2; padding-block:62px 66px; align-self:center; pointer-events:none; }
.cover-copy a { pointer-events:auto; }
.cover-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:28px; color:#73767c; font:10px/1.5 Arial,sans-serif; letter-spacing:.12em; }
.cover-eyebrow > span { width:5px; height:5px; border-radius:50%; background:#7d838a; }
.cover h1 { position:relative; width:max-content; max-width:100%; color:#242529; font-size:clamp(86px,10.4vw,158px); font-weight:500; line-height:.88; letter-spacing:-.065em; text-wrap:initial; }
.cover h1 > span { display:block; }
.cover h1 > span + span { margin-top:6px; }
.cover-period { color:#979ca3; }
.cover-intro { margin-top:35px; }
.cover-chinese { color:#4f5258; font-size:17px; letter-spacing:.04em; }
.cover-chinese > span { padding-inline:12px; color:#b2b5b9; font-weight:400; }
.cover-description { margin-top:16px; color:#767a7f; font-size:14px; line-height:1.9; letter-spacing:.025em; }
.cover-actions { display:flex; align-items:center; gap:28px; margin-top:27px; font-size:13px; }
.cover-primary,.cover-secondary { display:inline-flex; align-items:center; gap:30px; padding:13px 0; }
.cover-primary { padding-inline:19px; color:#f8f8f6; background:#2b2d31; border:1px solid #2b2d31; transition:background .25s,transform .25s; }
.cover-primary:hover { background:#4d5259; transform:translateY(-2px); }
.cover-secondary { color:#666b72; border-bottom:1px solid #aeb2b6; transition:color .25s; }
.cover-secondary:hover { color:#202124; }
.cover-art { position:absolute; z-index:0; top:5%; right:-2%; width:58%; height:83%; pointer-events:none; }
.cover-halo { position:absolute; inset:0; background:radial-gradient(ellipse at 48% 43%,#fff 0%,rgba(237,239,239,.25) 40%,transparent 67%); }
.cover-object { position:absolute; will-change:transform; }
.cover-object-ring { width:89%; max-width:650px; right:0; top:-1%; transform:translate3d(calc(var(--pointer-x)*18px),calc(var(--pointer-y)*-12px),0) rotate(calc(var(--pointer-x)*3deg)); }
.cover-object-ring svg { display:block; width:100%; height:auto; animation:coverFloat 13s ease-in-out infinite; }
.cover-object-pebble { width:22%; right:7%; top:70%; transform:translate3d(calc(var(--pointer-x)*-24px),calc(var(--pointer-y)*18px),0) rotate(-23deg); filter:drop-shadow(3px 13px 10px rgba(65,70,80,.07)); }
.cover-object-pebble svg { display:block; width:100%; height:auto; animation:coverFloat 11s -4s ease-in-out infinite reverse; }
.cover-object-bead { width:32px; height:32px; left:19%; top:14%; border-radius:50%; background:radial-gradient(circle at 28% 22%,white 5%,#e8eaed 35%,#b5bbc2 74%,#e4e7e9); box-shadow:4px 8px 20px rgba(40,50,65,.035); transform:translate3d(calc(var(--pointer-x)*-28px),calc(var(--pointer-y)*-18px),0); }
.cover-feature { z-index:3; grid-column:2; grid-row:2; align-self:end; margin-bottom:64px; padding-top:20px; border-top:1px solid rgba(96,102,112,.25); transition:transform .3s; }
.cover-feature:hover { transform:translateY(-3px); }
.cover-feature-index { display:block; margin-bottom:12px; color:#8a8e94; font:10px/1.5 Arial,sans-serif; letter-spacing:.1em; }
.cover-feature > div { display:flex; justify-content:space-between; color:#454950; font-size:16px; letter-spacing:.025em; }
.cover-feature > p { margin-top:8px; color:#83878d; font-size:12px; }
.cover-footer { z-index:2; grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; align-items:center; padding-top:21px; border-top:1px solid var(--line); color:#898d93; font:9px/1.5 Arial,sans-serif; letter-spacing:.1em; }
.cover-footer a { display:flex; align-items:center; gap:12px; color:#60656d; }
.cover-scroll { display:inline-grid; place-items:center; border:1px solid #d6d8d9; width:23px; height:30px; border-radius:20px; font-size:14px; }
.cover-footer > span:last-child { display:flex; align-items:center; gap:9px; }
.cover-footer i { width:4px; height:4px; border-radius:50%; background:#9b9fa5; }
@keyframes coverFloat { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-13px) rotate(1deg); } }
.motion-paused .cover-object svg { animation-play-state:paused; }
.numbers { background:#efefeb; color:var(--ink); border-block:1px solid var(--line); }
.numbers p,.numbers sup,.numbers em { color:var(--muted); }
.lead,.body-copy,.focus-item p,.project-frame figcaption b,.case-index,.temperature-observation ul,.validation-list p,.detail-note,.patent-grid p { color:#60646b; }
.status-tag { color:#686c74; border-color:#c7cbd0; }
.dark-chapter { background:#f0f1ed; color:var(--ink); }
.dark-chapter .overline.accent,.contact-section .overline.accent,.life-section .overline.accent,.airflow-list li > span,.qc-grid article > span,.common-baseline span,.process-list li > span { color:#686d75; }
.dark-chapter .lead,.dark-chapter .subtle,.chapter-copy > p:not(.overline),.airflow-list p,.qc-grid p,.qc-grid ul,.common-baseline p,.process-list p { color:#656a71; }
.dark-chapter .status-tag { color:#686d75; border-color:#bdc2c9; }
.cutaway-frame figcaption,.drawing-frame figcaption { color:#7b8087; }
.temperature-observation,.detail-note { background:#eaece8; }
.module-chapter,.about-section { background:#efefeb; }
.module-grid figure > div,.issue-card a,.image-stage { background:#e5e7e4; }
.qc-grid article { border-color:#9da3ab; }
.content-section { background:#f0f1ed; }
.award-tags span { color:#656a72; border-color:#c0c5cc; }
.life-section { color:var(--ink); background:#f7f7f3; }
.life-section .lead,.life-section .subtle,.photo-item figcaption,.photo-item figcaption > span,.training-feature p:not(.overline) { color:#72777f; }
.photo-stage { background:#e7e9e5; }
.contact-section { color:var(--ink); background:#edeeea; border-top:1px solid var(--line); }
.contact-section .subtle,.contact-grid a > span:first-child,.contact-qr figcaption,.contact-section footer { color:#767c84; }
.contact-grid a:hover b { color:#656c76; }
.contact-qr-crop { mix-blend-mode:multiply; background:#fff; }
.contact-qr-crop img { filter:grayscale(1) contrast(3); }
.reveal-ready { opacity:0; transform:translateY(20px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1); }
.reveal-ready.is-revealed { opacity:1; transform:none; }
@media (min-width:901px) and (max-height:790px) { .cover-copy { padding-block:40px; }.cover h1 { font-size:clamp(86px,9vw,132px); }.cover-eyebrow { margin-bottom:22px; }.cover-intro { margin-top:26px; }.cover-feature { margin-bottom:40px; } }
@media (max-width:1100px) { .brand small { display:inline; }.cover-layout { grid-template-columns:1fr 235px; }.cover-topline { font-size:8px; }.cover-art { width:62%; right:-8%; top:12%; }.cover h1 { font-size:clamp(78px,10vw,112px); }.cover-footer > span:nth-child(2) { display:none; } }
@media (max-width:900px) { .site-header { height:68px; }.cover-layout { min-height:760px; }.cover-copy { padding-block:62px; }.cover-topline > span:last-child { display:none; }.cover-art { width:64%; right:-14%; top:10%; }.cover h1 { font-size:clamp(90px,12vw,112px); }.cover-chinese { font-size:15px; }.cover-feature { width:220px; grid-column:1/-1; justify-self:end; margin-bottom:32px; }.cover-copy { grid-column:1/-1; }.cover-feature { grid-row:3; }.cover-footer { grid-row:4; } }
@media (max-width:640px) {
  .site-header { height:65px; }.brand { font-size:12px; gap:9px; }.brand small { font-size:10px; }.site-header nav { font-size:12px; }.nav-contact span { margin-left:8px; }
  .cover-layout { min-height:0; display:block; padding-top:21px; padding-bottom:20px; }.cover-topline { font-size:7px; letter-spacing:.1em; }.cover-copy { padding-block:191px 36px; }.cover-art { top:38px; right:-18px; width:300px; height:295px; }.cover-object-ring { width:90%; top:-8%; right:0; }.cover-object-pebble { width:21%; top:64%; right:4%; }.cover-object-bead { width:18px; height:18px; top:16%; left:10%; }
  .cover h1 { font-size:clamp(68px,21.5vw,116px); line-height:.9; letter-spacing:-.065em; }.cover-eyebrow { font-size:7px; gap:7px; margin-bottom:22px; letter-spacing:.08em; }.cover-eyebrow > span { width:4px; height:4px; }.cover-intro { margin-top:28px; }.cover-chinese { font-size:14px; }.cover-chinese > span { padding-inline:7px; }.cover-description { font-size:13px; line-height:1.85; margin-top:13px; }.cover-actions { gap:24px; font-size:12px; margin-top:25px; }.cover-primary,.cover-secondary { gap:22px; padding-block:12px; }.cover-primary { padding-inline:16px; }
  .cover-feature { width:100%; margin:0 0 27px; padding-top:16px; display:grid; grid-template-columns:1fr 1fr; column-gap:15px; }.cover-feature-index { margin-bottom:7px; font-size:8px; }.cover-feature > div { grid-row:1/3; grid-column:2; align-items:center; font-size:13px; }.cover-feature > p { margin:0; font-size:10px; }.cover-footer { font-size:7px; gap:14px; padding-top:18px; }.cover-scroll { width:19px; height:26px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .cover-object,.cover-object svg { animation:none!important; transform:none!important; }.reveal-ready { opacity:1; transform:none; transition:none; } }
