:root{color-scheme:light;--bg:#e3eaf0;--ink:#20252b;--muted:#48515b;--line:#b4c2ce;--surface:#f5f7f9d9;--soft:#f4f6f7;font:16px "PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}body{margin:0;position:relative;isolation:isolate;background:var(--bg)}body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bg) url("assets/site-background.png") center/cover no-repeat;pointer-events:none}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #526f86;outline-offset:4px}p{line-height:1.9;color:var(--muted)}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,li,td,th,span{overflow-wrap:break-word}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.header{position:absolute;inset:0 0 auto;z-index:3;width:90%;max-width:none;display:flex;align-items:center;justify-content:space-between;padding-block:24px}.wordmark{font-weight:700;font-size:1.45rem;letter-spacing:.06em;padding-block:8px}.wordmark-mark{margin-left:8px;font-weight:300;color:#78828c}.header nav{display:flex;gap:30px}.header nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 4px}.header nav a:hover{text-decoration:underline;text-underline-offset:8px}
.hero{width:100%;position:relative;display:grid;grid-template-columns:48% 52%;min-height:62vw;padding:12vw 6.7% 11vw;align-content:center;isolation:isolate}.hero-copy{grid-column:1;grid-row:1;min-width:0;position:relative;z-index:1}.hero-person{position:absolute;right:6.5%;bottom:64px;width:49%;max-height:79%;object-fit:contain;object-position:center bottom;pointer-events:none}.eyebrow{font-size:clamp(1rem,1.55vw,1.5rem);margin:0 0 2vw;letter-spacing:.04em;color:var(--ink)}.hero h1{font-size:clamp(2rem,4.6vw,4.6rem);font-weight:700;line-height:1.35;letter-spacing:-.04em;margin:0}.hero-description{font-size:clamp(1rem,1.6vw,1.5rem);line-height:1.85;margin:2vw 0 0}.hero-links{grid-column:1;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:32px;margin-top:2.7vw;z-index:1}.primary-link{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 26px;font-size:1.1rem;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;font-weight:600}.primary-link:hover{background:#405567}.text-link{display:inline-flex;align-items:center;min-height:48px;font-size:1.05rem;padding:10px 0;border-bottom:1px solid var(--ink)}.text-link:hover{color:#64717c;border-color:#64717c}.hero-bottom{position:absolute;bottom:0;left:6.7%;right:6.7%;display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--line);font-size:.875rem;line-height:1.8;color:var(--muted)}.hero-bottom span:last-child{letter-spacing:.14em;font-size:.75rem}.section-label{font-size:.875rem;line-height:1.8;letter-spacing:.12em;color:var(--muted)}
.projects{width:100%;padding:72px max(56px,calc((100% - 1280px)/2)) 64px;background:#eff3f6dc}.section-heading{padding-bottom:38px}.section-heading h2{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.45;letter-spacing:-.04em;font-weight:650;margin:18px 0 0}.case{border-top:1px solid var(--line)}.case:last-child{border-bottom:1px solid var(--line)}.case-details{min-width:0}.case-details summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,2.4fr) minmax(190px,.8fr);gap:24px 36px;padding:38px 0;align-items:start}.case-details summary::-webkit-details-marker{display:none}.case-details summary::marker{content:""}.case-meta,.case-intro,.case-summary,.role-note{display:block;min-width:0}.case-kicker{font-size:.95rem;line-height:1.8;font-weight:600;color:var(--ink);display:block}.case-tags{display:block;font-size:.875rem;color:#67737d;line-height:1.8;margin-top:8px}.case h3{font-size:clamp(1.3rem,1.9vw,1.8rem);line-height:1.6;font-weight:650;letter-spacing:-.025em;margin:0 0 12px}.case-summary{font-size:1rem;line-height:1.9;color:var(--muted)}.role-note{font-size:.875rem;color:#667582;line-height:1.8;margin-top:12px}.outcome{display:block;margin-top:20px;border-left:2px solid #87949e;padding-left:16px}.outcome>span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:5px}.outcome strong{display:block;font-size:1rem;line-height:1.8;font-weight:600}.outcome small{display:block;font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:5px}
.disclosure-copy{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:6px 12px;padding:16px;background:#263440;color:white;border:1px solid #263440;border-radius:4px;min-height:88px}.disclosure-copy strong{font-size:1rem;line-height:1.6;font-weight:600}.disclosure-hint{grid-column:1;font-size:.875rem;line-height:1.6;color:#d3e1ec}.details-sign{grid-column:2;grid-row:1/3;align-self:center;position:relative;width:24px;height:24px;border:1px solid #aabcca;border-radius:50%}.details-sign::before,.details-sign::after{content:"";position:absolute;background:currentColor;top:10px;left:5px;width:12px;height:1px}.details-sign::after{transform:rotate(90deg)}.when-open{display:none}details[open] .when-closed{display:none}details[open] .when-open{display:inline}details[open] .details-sign::after{transform:rotate(0)}.case-details summary:hover .disclosure-copy{background:#405567}details[open] .disclosure-copy{background:#e0e9f0;color:#263440;border-color:#a5b8c6}details[open] .disclosure-hint{color:#536c7e}details[open] summary:hover .disclosure-copy{background:#d2e0eb}
.details-content{padding:4px 0 44px}.detail-intro{font-size:1rem;max-width:880px;margin:0 0 28px}.decision-list{list-style:none;counter-reset:decision;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.decision-list li{counter-increment:decision;padding-top:14px;border-top:1px solid #9baebb;min-width:0}.decision-list li::before{content:counter(decision,decimal-leading-zero);font:14px/1.8 ui-monospace,monospace;color:#677a89;display:block;margin-bottom:10px}.decision-list h4{font-size:1.05rem;font-weight:600;line-height:1.7;margin:0}.decision-list p{font-size:1rem;line-height:1.9;margin:10px 0 0}.evidence-heading{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}.evidence-heading h4{font-size:1.2rem;font-weight:600;line-height:1.7;margin:0}.evidence-heading p{font-size:1rem;margin:10px 0 22px;max-width:920px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.evidence{margin:0;min-width:0}.evidence-wide{grid-column:1/-1}.evidence-open{display:block;position:relative;background:white;border:1px solid #bfcbd3;overflow:hidden}.evidence-open img{width:100%;max-height:460px;object-fit:contain;background:white;transition:filter .2s}.evidence-open:hover img{filter:brightness(.96)}.image-action{position:absolute;right:12px;bottom:12px;padding:7px 12px;border-radius:3px;background:#263440ef;color:white;font-size:.875rem;line-height:1.5}.evidence figcaption,.demo-video figcaption{padding-top:14px}.evidence figcaption strong,.demo-video figcaption strong{display:block;font-size:1rem;line-height:1.7;font-weight:600}.evidence figcaption p,.demo-video figcaption p{font-size:.875rem;line-height:1.8;margin:5px 0 0}.evidence-long img{height:460px;object-fit:cover;object-position:top}.evidence-document img{height:380px;object-position:top}.evidence-chat img{height:460px}.workflow-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px;padding:22px 0;border-block:1px solid var(--line)}.workflow-paths span{font-size:.875rem;color:#667582}.workflow-paths p{font-size:1rem;margin:7px 0 0;line-height:1.8}.additional-role{margin-top:42px;padding:28px;background:#dce5ecb8;border:1px solid #c2d0da}.additional-role h4{font-size:1.25rem;line-height:1.7;margin:12px 0 0;font-weight:600}.additional-role>p{font-size:1rem;margin:12px 0 0}.additional-role .evidence-grid{margin-top:24px}.next-case{display:inline-flex;align-items:center;min-height:48px;font-size:.875rem;line-height:1.8;margin-top:30px;border-bottom:1px solid #637989}.next-case:hover{color:#526f86}.demo-video{margin:34px 0 0;max-width:920px}.demo-video video{display:block;width:100%;height:auto;aspect-ratio:2352/1674;background:#25272a;border:1px solid #a4b4c1}
.about{padding-block:76px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:100px}.about .section-label{grid-column:1/-1}.about h2{grid-row:2/4;font-size:2rem;font-weight:600;line-height:1.6;margin:22px 0}.about p{margin:22px 0 0;font-size:1rem;max-width:620px}.contact{width:100%;position:relative;min-height:56vw;padding:9.5vw 6.7% 12vw;isolation:isolate;border-top:1px solid var(--line);display:flex;align-items:center}.contact-copy{max-width:75%;position:relative;z-index:1;min-width:0}.contact .section-label{font-size:clamp(.875rem,1.65vw,1.6rem)}.contact h2{font-size:clamp(2rem,5.6vw,5.4rem);font-weight:500;line-height:1.45;margin:2.5vw 0 3.7vw;letter-spacing:-.04em}.emphasis{font-weight:750}.contact p{font-size:clamp(1rem,2.35vw,2.2rem);line-height:1.7}.closing-robot{position:absolute;right:6.5%;top:33%;width:19%;object-fit:contain;pointer-events:none}.contact-button{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:15px 25px;margin-top:18px;min-height:48px;font-size:1.08rem;line-height:1.5}.contact-button:hover{background:#414951}.contact .contact-button{background:none;border:0;border-bottom:1px solid currentColor;color:var(--ink);padding:10px 0;font-size:clamp(1rem,2vw,1.9rem)}.contact .contact-button:hover{color:#596975}.footer{position:relative;margin-top:-65px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:26px 38px;font-size:.875rem;line-height:1.8;color:var(--muted)}.footer a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0}.skip-link{position:fixed;left:12px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:20}.skip-link:focus{top:12px}
dialog{width:min(480px,calc(100% - 32px));max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);overflow-y:auto;border:1px solid var(--line);padding:32px;background:var(--soft);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#20252b99;backdrop-filter:blur(4px)}.dialog-close{display:block;margin:0 0 12px auto;min-height:44px;border:0;background:none;color:var(--muted);padding:10px}.dialog-close:hover{text-decoration:underline}dialog h2{font-size:1.7rem;line-height:1.5}dialog .contact-button{margin-top:12px;max-width:100%}.wechat-card{margin:20px 0 0;text-align:center}.wechat-card img{width:260px;margin:0 auto;border:1px solid var(--line)}.wechat-card figcaption{font-size:.875rem;line-height:1.8;margin-top:16px;color:var(--muted)}.wechat-card a{display:inline-flex;align-items:center;padding:12px 18px;margin-top:12px;min-height:44px;border-bottom:1px solid var(--ink)}
.image-dialog{width:min(1120px,calc(100% - 24px));padding:20px;overflow:hidden}.image-toolbar{display:flex;gap:16px;align-items:center}.image-toolbar h2{font-size:1rem;margin:0;line-height:1.7;flex:1;min-width:0}.image-toolbar button{border:1px solid #a5b8c6;background:white;color:var(--ink);padding:10px 14px;min-height:44px;font-size:.875rem;white-space:nowrap}.image-toolbar button:hover{background:#e2eaf0}.image-instruction{font-size:.875rem;line-height:1.7;margin:12px 0}.image-viewport{max-height:calc(100vh - 176px);max-height:calc(100svh - 176px);overflow:auto;background:white;overscroll-behavior:contain;min-height:80px}.image-viewport img{width:100%;max-width:100%;height:auto;margin:auto}.image-viewport.zoomed img{width:auto;max-width:none;margin:0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);max-width:calc(100% - 32px);padding:13px 22px;background:var(--ink);color:white;font-size:1rem;line-height:1.6;opacity:0;pointer-events:none;z-index:30;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:901px) and (max-width:1100px){.wrap{width:calc(100% - 64px)}.case-details summary{grid-template-columns:150px minmax(0,1fr) 190px;column-gap:24px}.decision-list{gap:24px}.about{column-gap:40px}.projects::before{inset-inline:-32px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header{position:relative;inset:auto;width:calc(100% - 48px);padding-block:14px}.wordmark{font-size:1.25rem}.header nav{gap:16px}.hero{display:flex;flex-direction:column;width:100%;min-height:0;padding:22px 24px 0}.hero-copy{width:100%;max-width:640px;align-self:center}.eyebrow{font-size:1rem;line-height:1.7;margin-bottom:18px}.hero h1{font-size:clamp(2rem,7vw,3rem);line-height:1.4}.hero-description{font-size:1rem;line-height:1.8;margin-top:18px}.desktop-break{display:none}.hero-links{align-self:center;width:100%;max-width:640px;order:1;gap:28px;margin-top:20px}.hero-person{position:relative;order:2;inset:auto;width:min(60%,300px);max-height:none;align-self:center;margin-top:20px}.hero-bottom{position:relative;order:3;inset:auto;width:100%;max-width:640px;align-self:center;padding:18px 0;gap:12px}.hero-bottom span:last-child{display:none}.projects{width:100%;padding:48px 24px 64px}.section-heading{padding-bottom:30px}.section-heading h2{font-size:2rem;margin-top:16px}.case-details summary{grid-template-columns:minmax(0,1fr) 220px;gap:22px;padding:30px 0}.case-meta{grid-column:1/-1}.case-tags{display:inline;margin-left:14px}.case-kicker{display:inline}.case h3{font-size:1.55rem}.decision-list{grid-template-columns:minmax(0,1fr);gap:28px}.details-content{padding-top:2px}.decision-list li::before{margin-bottom:5px}.workflow-paths{grid-template-columns:minmax(0,1fr);gap:16px}.additional-role{padding:22px}.about{display:block;padding-block:56px}.about h2{font-size:1.75rem;margin-block:18px}.about p{margin-top:18px;max-width:none}.contact{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:24px;min-height:0;padding:56px 24px 40px;align-items:center}.contact-copy{max-width:100%;width:100%}.contact .section-label{font-size:.875rem}.contact h2{font-size:clamp(1.65rem,4.6vw,2.5rem);line-height:1.55;margin:20px 0 18px}.contact p{font-size:1rem}.contact .contact-button{font-size:1.08rem;margin-top:8px}.closing-robot{position:relative;inset:auto;order:2;width:140px}.footer{margin-top:0;padding-block:18px;gap:12px}dialog{padding:20px}}
@media(max-width:600px){.wrap,.header{width:calc(100% - 40px)}.header nav{gap:10px}.hero,.contact{width:100%}.hero{padding:18px max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right))}.hero h1{font-size:clamp(1.875rem,8.1vw,2.6rem)}.hero-person{width:min(68%,248px);margin-top:16px}.hero-bottom{font-size:.875rem;padding-block:16px}.projects{width:100%;padding:48px 20px}.section-heading h2{font-size:1.75rem;max-width:340px}.case-details summary{display:block;padding:28px 0}.case-meta{margin-bottom:16px}.case-kicker,.case-tags{display:block}.case-tags{margin:5px 0 0}.case h3{font-size:1.45rem;margin-bottom:12px}.disclosure-copy{margin-top:20px;min-height:80px;padding:14px 16px}.details-content{padding-bottom:34px}.evidence-grid{grid-template-columns:minmax(0,1fr);gap:26px}.evidence-wide{grid-column:auto}.evidence-open img{max-height:420px}.evidence-long img{height:390px}.evidence-document img{height:340px}.evidence-chat img{height:420px}.evidence-heading{margin-top:32px;padding-top:24px}.additional-role{padding:18px;margin-top:32px}.additional-role h4{font-size:1.1rem}.contact{grid-template-columns:minmax(0,1fr);gap:20px;padding:48px 20px 28px}.contact h2{font-size:clamp(1.5rem,6.7vw,2.25rem)}.closing-robot{justify-self:end;width:126px;margin-right:12px}.footer .review-note{order:3;width:100%}.image-dialog{padding:12px}.image-toolbar{gap:8px;flex-wrap:wrap}.image-toolbar h2{flex-basis:100%}.image-toolbar form{margin-left:auto}.image-viewport{max-height:calc(100svh - 200px)}}
@media(max-width:360px){.header nav{gap:3px}.header nav a{font-size:.875rem}.eyebrow{letter-spacing:0;font-size:.9375rem}.hero-links{gap:22px}.primary-link{padding-inline:20px}.case h3{font-size:1.35rem}.additional-role{padding:14px}.image-instruction{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

