:root{--paper:#f3f4f0;--paper-deep:#e8e9e3;--paper-white:#fafbf8;--ink:#202521;--muted:#626963;--line:#c9cec7;--accent:#9c5047;--accent-dark:#783930;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif;--sans:"PingFang SC","Noto Sans CJK SC","Source Han Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--gutter:clamp(24px,5.3vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,summary{font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:#c8aaa4;color:var(--ink)}
.site-shell{max-width:1920px;margin:auto;overflow:hidden}
.skip-link{position:absolute;top:-60px;left:var(--gutter);z-index:20;background:var(--ink);color:#fff;padding:8px 14px}.skip-link:focus{top:12px}
.site-header{height:92px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}
.brand{display:inline-flex;align-items:center;gap:10px;justify-self:start;line-height:1}
.brand-cn{font:700 32px/1 var(--serif);letter-spacing:-.15em;padding-right:.15em}
.brand-en{font:600 8px/1.25 var(--sans);letter-spacing:.11em;color:var(--muted)}
.desktop-nav{display:flex;gap:clamp(24px,3.2vw,55px);font-size:13px;letter-spacing:.08em}
.desktop-nav a,.header-contact,.site-footer a,.text-link,.history-list a,.evidence-links a{transition:color .2s ease}
.desktop-nav a:hover,.desktop-nav a[aria-current],.header-contact:hover,.site-footer a:hover,.text-link:hover,.history-list a:hover,.evidence-links a:hover{color:var(--accent)}
.header-contact{justify-self:end;border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:13px;white-space:nowrap}
.header-contact span,.text-link span,.button-primary span{margin-left:1em}
.header-contact .header-contact-full,.header-contact .header-contact-short{margin-left:0}
.header-contact-short{display:none}
.mobile-nav{display:none}
.hero{min-height:min(850px,calc(100dvh - 92px));padding:34px var(--gutter) 28px;display:flex;flex-direction:column;position:relative}
.hero-upper,.hero-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.1em}
.hero-upper{color:var(--accent)}
.hero-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}
.hero-bottom a{color:var(--ink)}
.hero-bottom a span{margin-left:12px;color:var(--accent)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:clamp(30px,5vw,100px);flex:1;align-items:center;padding:2vh 0 5vh}
.hero-title-block{align-self:end;padding-bottom:2.4vh}
.hero-english{font:500 clamp(12px,1.05vw,16px)/1.55 var(--sans);letter-spacing:.15em;text-transform:uppercase;margin:0 0 clamp(28px,5.5vh,68px);color:var(--muted)}
.hero h1{font:400 clamp(150px,19vw,360px)/.8 var(--serif);letter-spacing:-.13em;margin:0 0 34px -4%;white-space:nowrap}
.hero-title-gap{display:inline-block;width:.2em}
.hero-caption{margin:0;max-width:430px;font-size:clamp(14px,1.25vw,19px);letter-spacing:.13em;color:var(--muted)}
.hero-intro{max-width:530px;padding-top:160px;position:relative;align-self:center}
.hero-mark{position:absolute;left:45%;top:-45px;width:260px;height:260px;opacity:.46;pointer-events:none}
.hero-mark i{position:absolute;display:block;border:1px solid var(--accent);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.hero-mark i:nth-child(1){width:100%;height:100%}.hero-mark i:nth-child(2){width:70%;height:70%}.hero-mark i:nth-child(3){width:42%;height:42%}.hero-mark i:nth-child(4){width:13%;height:13%;background:var(--accent)}
.eyebrow,.section-index{font-size:12px;line-height:1.4;letter-spacing:.14em;color:var(--accent);margin:0}
.hero-intro h2{font:400 clamp(32px,3.4vw,56px)/1.3 var(--serif);letter-spacing:-.05em;margin:24px 0}
.hero-intro>p:not(.eyebrow){font-size:clamp(15px,1.12vw,18px);line-height:2;color:#434a44;max-width:470px;margin:0}
.hero-actions{display:flex;align-items:center;gap:clamp(22px,2.8vw,50px);margin-top:45px;flex-wrap:wrap}
.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;background:var(--ink);color:var(--paper-white);padding:14px 21px;font-size:13px;letter-spacing:.05em;white-space:nowrap;transition:background .2s ease,transform .2s ease}
.button-primary:hover{background:var(--accent-dark);transform:translateY(-2px)}
.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.section{padding:clamp(105px,10vw,180px) var(--gutter)}
.section-heading{display:grid;grid-template-columns:1fr 1.15fr;column-gap:5vw;align-items:start;margin-bottom:clamp(62px,7vw,120px)}
.section-heading .section-index{grid-column:1/-1;margin-bottom:42px}
.section-heading h2,.method-teaser h2,.history-heading h2,.collaboration-main h2,.contact-section h2,.method-diagram-intro h2,.method-steps h2,.evidence-section h2{font:400 clamp(45px,5.5vw,88px)/1.26 var(--serif);letter-spacing:-.07em;margin:0}
.section-lede{max-width:360px;font-size:clamp(16px,1.25vw,21px);line-height:1.9;color:var(--muted);margin:12px 0 0 auto}
.services-section{background:var(--paper-white)}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:5vw;align-items:start;padding:33px 2px 36px;border-bottom:1px solid var(--line)}
.service-number{font:500 12px/1.5 var(--sans);letter-spacing:.12em;color:var(--accent);padding-top:10px}
.service-row h3{font:400 clamp(25px,2.7vw,43px)/1.3 var(--serif);letter-spacing:-.04em;margin:0 0 8px}
.service-row p{font-size:15px;line-height:1.85;color:var(--muted);margin:0;max-width:650px}
.method-teaser{min-height:720px;background:var(--paper-deep);display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,1fr);align-items:center;gap:4vw;padding:110px var(--gutter);position:relative}
.method-teaser-copy{max-width:570px;position:relative;z-index:1}
.method-teaser h2{margin:43px 0 28px}
.method-teaser-copy>p:not(.section-index){color:var(--muted);font-size:17px;line-height:2;max-width:470px;margin:0 0 36px}
.method-teaser-visual{position:relative;width:min(100%,565px);aspect-ratio:1;justify-self:center}
.ring,.method-ring{position:absolute;border:1px solid #a0a89f;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.ring-outer,.method-ring-outer{width:94%;height:94%}.ring-middle,.method-ring-middle{width:70%;height:70%}.ring-inner,.method-ring-inner{width:46%;height:46%}
.ring-center,.method-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 clamp(56px,5.6vw,96px)/1 var(--serif);color:var(--accent)}
.ring-label,.method-ring-name{position:absolute;background:var(--paper-deep);padding:2px 12px;font-size:13px;letter-spacing:.1em;white-space:nowrap}
.ring-label-outer,.method-ring-name-outer{top:8%;left:42%}.ring-label-middle,.method-ring-name-middle{top:21%;right:9%}.ring-label-inner,.method-ring-name-inner{top:35%;left:15%}
.history-section{background:var(--paper-white)}
.history-list{border-top:1px solid var(--line)}
.history-list article{display:grid;grid-template-columns:minmax(160px,.48fr) minmax(0,1fr);gap:5vw;padding:42px 0 52px;border-bottom:1px solid var(--line)}
.history-year{font:400 clamp(47px,6vw,96px)/1 var(--serif);letter-spacing:-.06em;color:var(--accent)}
.history-list h3{font:400 clamp(25px,2.7vw,39px)/1.35 var(--serif);letter-spacing:-.04em;margin:2px 0 15px}
.history-list p{font-size:15px;line-height:1.9;max-width:670px;color:var(--muted);margin:0 0 22px}
.history-list a{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px}
.collaboration-section{background:var(--paper);padding-bottom:0}
.collaboration-main{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin:50px 0 105px}
.collaboration-main>div:last-child{max-width:530px;padding-top:11px}
.collaboration-main p{color:var(--muted);font-size:16px;line-height:2;margin:0 0 20px}
.collaboration-main .collaboration-lede{font-size:clamp(19px,1.65vw,27px);line-height:1.8;color:var(--ink);margin-bottom:28px}
.collaboration-main .button-primary{margin-top:20px}
.deliverable-preview{display:grid;grid-template-columns:1fr 1fr;gap:6vw;border-top:1px solid var(--line);padding:40px 0 62px}
.deliverable-preview h3{font:400 clamp(27px,3vw,45px)/1.35 var(--serif);letter-spacing:-.04em;margin:17px 0 13px}
.deliverable-preview>div>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.deliverable-preview ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.deliverable-preview li{display:flex;gap:24px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.deliverable-preview li span{font:500 11px/1.5 var(--sans);color:var(--accent)}
.deliverable-preview li strong{font:400 20px/1.5 var(--serif)}
.collaboration-secondary{display:grid;grid-template-columns:.75fr 1.5fr .5fr;gap:3vw;align-items:center;border-top:1px solid var(--line);padding:30px 0 34px;font-size:13px;color:var(--muted)}
.collaboration-secondary p{margin:0;color:var(--ink);font-size:16px}.collaboration-secondary a{justify-self:end;border-bottom:1px solid currentColor;color:var(--ink)}
.about-section{background:var(--paper-white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:45px}
.about-grid h2{font:400 clamp(56px,7vw,112px)/1.12 var(--serif);letter-spacing:-.08em;margin:0}
.about-grid>div{max-width:560px}
.about-grid p{font-size:16px;line-height:2;color:var(--muted);margin:0 0 20px}
.about-grid .about-lede{font:400 clamp(21px,2vw,33px)/1.6 var(--serif);color:var(--ink);margin-bottom:25px}
.about-grid .text-link{margin-top:18px}
.contact-section{padding:clamp(108px,11vw,185px) var(--gutter);background:var(--paper-deep)}
.contact-section h2{margin:40px 0 26px}
.contact-section>p:not(.section-index){font-size:17px;line-height:1.9;color:var(--muted);max-width:570px;margin:0 0 44px}
.site-footer{min-height:110px;padding:22px var(--gutter);background:var(--paper-white);display:grid;grid-template-columns:1fr 1.5fr auto auto;gap:30px;align-items:center;border-top:1px solid var(--line);font-size:11px;letter-spacing:.04em;color:var(--muted)}
.footer-brand{font:400 26px/1 var(--serif);color:var(--ink)}
.site-footer a{white-space:nowrap}
/* Method page */
.method-hero{padding:46px var(--gutter) 105px;min-height:690px;display:flex;flex-direction:column}
.method-hero-grid{display:grid;grid-template-columns:1fr .7fr;gap:7vw;align-items:end;flex:1;padding-top:85px}
.method-hero h1{font:400 clamp(100px,13vw,205px)/.95 var(--serif);letter-spacing:-.12em;margin:0 0 35px}
.method-hero-en{font-size:12px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}
.method-hero-copy{max-width:470px;padding-bottom:9px}
.method-hero-copy>p{font:400 clamp(21px,1.95vw,30px)/1.9 var(--serif);margin:0 0 38px}
.method-diagram-section{padding:110px var(--gutter);background:var(--paper-deep);display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center;min-height:780px}
.method-diagram-intro{max-width:520px}
.method-diagram-intro h2{margin:43px 0 22px}
.method-diagram-intro>p:not(.section-index){font-size:16px;color:var(--muted);line-height:2;margin:0}
.method-diagram{position:relative;width:min(100%,620px);aspect-ratio:1;justify-self:center}
.method-ring{border-color:#8f9b90}
.method-core{font-size:clamp(64px,7vw,118px)}
.method-ring-name{background:var(--paper-deep);font-size:15px}
.method-steps{background:var(--paper-white)}
.method-steps h2{margin:35px 0 70px}
.step-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6vw;row-gap:0;border-top:1px solid var(--line)}
.step-list article{padding:31px 0 45px;border-bottom:1px solid var(--line)}
.step-list article>span{font-size:12px;color:var(--accent);letter-spacing:.13em}
.step-list h3{font:400 clamp(27px,2.6vw,42px)/1.4 var(--serif);margin:23px 0 12px}
.step-list p{font-size:15px;line-height:1.9;color:var(--muted);max-width:590px;margin:0}
.ip-bridge{background:var(--ink);color:var(--paper-white);padding:100px var(--gutter);display:grid;grid-template-columns:.45fr 1fr;gap:5vw}
.ip-bridge .section-index{color:#c68d82}
.ip-bridge>div{max-width:800px}
.ip-bridge h2{font:400 clamp(40px,5.1vw,80px)/1.3 var(--serif);letter-spacing:-.05em;margin:0 0 24px}
.ip-bridge p{font-size:17px;line-height:2;color:#d7dad4;max-width:660px;margin:0}
.bridge-steps{display:flex;gap:0;margin-top:55px;flex-wrap:wrap;border-top:1px solid #626963}
.bridge-steps span{font-size:13px;padding:16px 20px 8px 0;margin-right:20px;color:#e4e6e1;white-space:nowrap}
.bridge-steps span:not(:last-child):after{content:"→";margin-left:25px;color:#c68d82}
.evidence-section{background:var(--paper-white)}
.evidence-section h2{margin:35px 0 18px}
.evidence-section>p:not(.section-index){font-size:16px;line-height:1.9;color:var(--muted);max-width:630px;margin:0 0 60px}
.evidence-links{border-top:1px solid var(--line)}
.evidence-links a{display:grid;grid-template-columns:.6fr 1.4fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.evidence-links span{font-size:13px;color:var(--muted)}
.evidence-links strong{font:400 clamp(19px,2vw,30px)/1.4 var(--serif)}
.method-contact{background:var(--paper-deep)}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr 1fr;gap:30px}.hero h1{font-size:19vw}.hero-intro{padding-top:120px}.method-teaser{grid-template-columns:1fr 1fr;min-height:650px}.site-header{grid-template-columns:1fr auto 1fr}}
@media(max-width:800px){.site-header{height:72px;grid-template-columns:1fr auto;padding-right:var(--gutter)}.desktop-nav,.header-contact{display:none}.mobile-nav{display:block;justify-self:end;position:relative}.mobile-nav summary{list-style:none;cursor:pointer;font-size:13px;letter-spacing:.08em;display:flex;align-items:center;gap:12px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] summary span{transform:rotate(45deg)}.mobile-nav summary span{font-size:22px;line-height:1;transition:transform .2s}.mobile-nav nav{position:absolute;right:-24px;top:44px;width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--paper-white);box-shadow:0 16px 32px #2025211a;border:1px solid var(--line);padding:16px 22px}.mobile-nav nav a{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}.mobile-nav nav a:last-child{border:0}.hero{min-height:auto;padding-top:23px}.hero-grid{grid-template-columns:1fr;padding:80px 0 90px;gap:70px}.hero-title-block{align-self:auto}.hero h1{font-size:clamp(140px,30vw,235px);margin-left:-2%;margin-bottom:23px}.hero-intro{padding-top:55px;max-width:650px}.hero-mark{left:auto;right:3%;top:-40px;width:200px;height:200px}.hero-intro h2{font-size:clamp(36px,7vw,55px)}.section-heading{grid-template-columns:1fr}.section-lede{margin:25px 0 0;max-width:500px}.method-teaser{grid-template-columns:1fr;gap:42px;padding-block:95px}.method-teaser-visual{width:min(100%,480px)}.collaboration-main,.about-grid{grid-template-columns:1fr;gap:30px}.collaboration-main{margin-bottom:70px}.collaboration-secondary{grid-template-columns:1fr auto;gap:10px}.collaboration-secondary span{grid-column:1/-1}.site-footer{grid-template-columns:1fr 1fr}.site-footer span:nth-child(2){grid-column:1/-1;grid-row:2}.method-hero{min-height:600px}.method-hero-grid{grid-template-columns:1fr;gap:60px;padding-top:70px}.method-hero h1{font-size:clamp(105px,20vw,170px)}.method-diagram-section{grid-template-columns:1fr;gap:60px}.ip-bridge{grid-template-columns:1fr;gap:30px}.evidence-links a{grid-template-columns:1fr auto}.evidence-links a strong{grid-column:1/-1;grid-row:2}}
@media(max-width:520px){:root{--gutter:22px}.brand-cn{font-size:28px}.hero-upper{font-size:10px}.hero-grid{padding:65px 0 75px;gap:62px}.hero-english{font-size:10px;margin-bottom:32px}.hero h1{font-size:clamp(130px,32vw,170px);margin-bottom:24px}.hero-caption{font-size:13px;line-height:1.8}.hero-intro{padding-top:80px}.hero-mark{top:-24px;width:178px;height:178px;right:-12px}.hero-intro h2{font-size:35px}.hero-intro>p:not(.eyebrow){font-size:14px}.hero-actions{gap:21px;margin-top:34px}.hero-actions .button-primary{width:100%}.hero-bottom{font-size:10px}.section{padding-block:86px}.section-heading{margin-bottom:48px}.section-heading h2,.method-teaser h2,.collaboration-main h2,.contact-section h2,.method-diagram-intro h2,.method-steps h2,.evidence-section h2{font-size:clamp(38px,10vw,53px)}.section-heading .section-index{margin-bottom:27px}.section-lede{font-size:15px}.service-row{grid-template-columns:34px minmax(0,1fr);gap:18px;padding:24px 0 28px}.service-row h3{font-size:27px}.service-row p{font-size:13px}.service-arrow{display:none}.method-teaser{padding-block:85px}.method-teaser h2{margin-top:30px}.method-teaser-copy>p:not(.section-index){font-size:14px}.ring-label,.method-ring-name{font-size:10px;padding:1px 6px}.history-list article{grid-template-columns:1fr;gap:15px;padding:28px 0 35px}.history-year{font-size:59px}.history-list h3{font-size:26px}.history-list p{font-size:13px}.collaboration-main{margin-top:35px}.collaboration-main .collaboration-lede{font-size:19px}.collaboration-main p{font-size:14px}.collaboration-secondary{grid-template-columns:1fr}.collaboration-secondary a{justify-self:start}.about-grid h2{font-size:64px}.about-grid p{font-size:14px}.contact-section{padding-block:90px}.contact-section>p:not(.section-index){font-size:15px}.site-footer{grid-template-columns:1fr auto;gap:15px}.site-footer span:nth-child(2){font-size:10px}.method-hero{padding-block:35px 85px;min-height:auto}.method-hero-grid{padding-top:80px;gap:60px}.method-hero h1{font-size:clamp(105px,26vw,145px)}.method-hero-copy>p{font-size:19px}.method-diagram-section{padding-block:85px}.method-diagram-intro>p:not(.section-index){font-size:14px}.method-ring-name{font-size:11px}.step-list{grid-template-columns:1fr}.method-steps h2{margin-bottom:40px}.step-list h3{font-size:29px}.step-list p{font-size:14px}.ip-bridge{padding-block:85px}.ip-bridge h2{font-size:42px}.ip-bridge p{font-size:14px}.bridge-steps{margin-top:37px}.bridge-steps span{font-size:11px;margin-right:8px;padding-right:4px}.bridge-steps span:not(:last-child):after{margin-left:12px}.evidence-section>p:not(.section-index){font-size:14px}.evidence-links a strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:360px){.method-hero h1{font-size:90px}}
@media(max-width:800px){.site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:18px}.header-contact{display:inline-block;font-size:12px}.header-contact-full,.header-contact span[aria-hidden]{display:none}.header-contact-short{display:inline}.deliverable-preview{grid-template-columns:1fr;gap:25px}}
@media(max-width:520px){.brand-en{font-size:9px}.service-row p,.history-list p{font-size:14px}.hero-mark{top:-80px;right:-20px;width:165px;height:165px;opacity:.34}.deliverable-preview{padding:28px 0 48px}.deliverable-preview li strong{font-size:18px}}
@media(max-width:360px){.site-header{gap:12px}}
