@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--bg:#0b0d12;--bg-soft:#151923;--text:#e8ebf2;--muted:#a1aabd;--primary:#afc0ff;--primary-dark:#f2f4fa;--border:#303643;--max-width:1240px;--radius:12px;color-scheme:dark}
body{background:var(--bg);color:var(--text)}
a{color:var(--primary);text-underline-offset:.3em} a:hover{color:#fff}
.container{padding-inline:40px}
.site-header{position:relative;background:var(--bg);border:0}
.nav{height:94px;gap:24px}.brand{color:#fff;font-weight:600;letter-spacing:.02em}.brand span{font-family:Manrope,sans-serif;font-size:12px;margin-left:12px;color:var(--muted);font-weight:500;letter-spacing:.05em}
.nav-links{gap:28px}.nav-links a{color:#c7cede;font-size:13px}.nav-links a:hover{font-weight:400;color:white}
.site-footer{background:var(--bg);border-color:var(--border);color:var(--muted);padding-block:30px}.site-footer .container{display:flex;justify-content:space-between;gap:24px}.site-footer p{font-size:12px}
.btn{background:#c8d3ff;color:#101626;border-radius:8px;font-weight:600}.btn:hover{background:#e4eaff;color:#0b0d12}.btn-outline{background:transparent;color:var(--primary);border-color:#657293}.btn-outline:hover{background:var(--bg-soft);color:#fff}
.section{padding-block:48px}.section h1{font-size:clamp(28px,4vw,46px);line-height:1.4}.section p{max-width:78ch}.reading{max-width:800px}.article-heading h1{line-height:1.45}.item-list h3{line-height:1.5}.item-list li{padding:26px 0}.faq{background:var(--bg-soft)}.notice{border-left:0;border-radius:8px}.status{color:#b5c6ff}.muted{color:var(--muted)}th{background:#171e2d}td{color:var(--text)}.contact-example{border-radius:12px}.skip-link{border:1px solid var(--border)}
.portfolio-home{isolation:isolate}.portfolio-home svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.portfolio-home a{text-decoration:none}.portfolio-home h2{font-size:clamp(30px,4.3vw,52px);font-weight:500;letter-spacing:-.025em;line-height:1.3}.portfolio-home h3{font-weight:500}.stage{min-height:680px;height:calc(100svh - 94px);max-height:960px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:70px 0 0}.stage-art{position:absolute;inset:-80px -40px 0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 70% 45%,#182444 0%,#0b0d12 63%)}.stage-art canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .6s}.stage-art.is-ready canvas{opacity:1}.orbit-fallback{position:absolute;right:5%;top:8%;width:50%;aspect-ratio:1;border:1px solid #43568e;border-radius:50%;transform:rotateX(58deg) rotateZ(-30deg);box-shadow:0 40px 75px #111d37}.orbit-fallback:after{content:'';position:absolute;inset:17%;border:1px solid #889acd;border-radius:50%}.is-ready .orbit-fallback{display:none}
.stage-heading{position:relative;pointer-events:none}.stage-heading h1{font-size:clamp(32px,5vw,58px);font-weight:500;line-height:1.2;letter-spacing:-.02em}.stage-heading h1 span{display:block;font-size:14px;font-weight:400;color:#bdc8df;margin-top:15px;letter-spacing:.1em}.signature{font-family:Manrope,sans-serif;font-size:clamp(68px,11vw,144px);font-weight:650;line-height:1.05;letter-spacing:-.04em;margin:24px 0 30px;color:#f5f7ff}.signature span{font-size:18px;vertical-align:top;letter-spacing:0;display:inline-block;margin:14px 0 0 12px}.stage-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding-bottom:46px}.stage-role{font-size:15px;color:#c4cfe9;margin-bottom:10px}.stage-description{font-size:21px;line-height:1.7;color:#f4f6fa}.stage-actions{display:flex;align-items:center;gap:30px}.round-link{display:inline-flex;gap:34px;align-items:center;border:1px solid #73839c;border-radius:50px;padding:18px 28px;color:#f0f4ff;font-size:15px;transition:background .2s,color .2s}.round-link:hover{background:#d8e1ff;color:#142037}.text-link{display:inline-flex;align-items:center;gap:14px;color:#e4ebff;font-size:14px;padding-block:8px}.text-link svg{width:17px}.stage-utility{border-top:1px solid #323c51;display:flex;align-items:center;gap:22px;padding:18px 0;color:#aab6cc;font-size:11px;letter-spacing:.05em}.stage-utility>a{margin-left:auto;color:#aab6cc}.motion-control{font:inherit;letter-spacing:0;border:0;background:none;color:#c0cae0;padding:6px;cursor:pointer}.motion-control:hover{color:#fff}
.portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:130px 0}.portfolio-intro p{font-size:17px;line-height:1.95;margin-bottom:24px}.portfolio-intro p.muted{font-size:14px}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-title>a{display:inline-flex;align-items:center;gap:20px;font-size:13px;color:#c5cfe4}.selected-work{scroll-margin-top:30px}.project-art{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:filter .35s}.featured-project{display:block}.guanyin-art{min-height:440px;background:#2849ea;flex-direction:column;color:#ecf1ff}.art-word{font-size:clamp(64px,12vw,138px);font-weight:600;letter-spacing:.08em;line-height:1.4}.evidence-flow{display:flex;align-items:center;gap:18px;margin-top:30px;font-size:14px}.evidence-flow span{padding:9px 18px;border:1px solid #8295f6;border-radius:24px}.evidence-flow i{width:70px;border-top:1px solid #9eacf4}.project-caption{padding:23px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#f1f4fc}.project-caption h3{font-size:23px;line-height:1.5}.project-caption p{font-size:13px;color:var(--muted);margin-top:6px}.project-caption>span{display:flex;align-items:center;gap:24px;font-size:12px;color:#aab7d2}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-pair .project-art{height:300px}.interview-art{background:#c9d2df;color:#1b2a43;flex-direction:column}.voice-bars{display:flex;gap:9px;align-items:center;height:140px}.voice-bars i{height:var(--bar);width:10px;border-radius:12px;background:#253b60;transform:scaleY(.75);transition:transform .5s}.project-tile:hover .voice-bars i{transform:scaleY(1)}.art-label{font-size:12px;letter-spacing:.14em;margin-top:28px}.commerce-art{background:#18283c}.commerce-stack{display:flex;flex-direction:column;gap:12px;transform:rotate(-13deg);width:70%;transition:transform .5s}.commerce-stack span{display:block;padding:18px 24px;font-size:15px;color:#cad5eb;border:1px solid #526784;border-radius:10px;background:#20334b}.commerce-stack span:nth-child(2){transform:translateX(22px);background:#2f4966}.commerce-stack span:nth-child(3){transform:translateX(44px);background:#426280;color:white}.project-tile:hover .commerce-stack{transform:rotate(-7deg)}.featured-project:hover .project-art{filter:brightness(1.09)}.project-row{display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:35px 0}.project-row h3{font-size:21px}.project-row p{font-size:13px;color:var(--muted);margin-top:8px}.project-row>div:last-child{display:flex;gap:28px}.project-row a{display:inline-flex;gap:15px;align-items:center;font-size:13px}.work-note{font-size:12px;color:#96a2bb;max-width:82ch;margin-top:24px;line-height:1.9}
.practice-section{padding:130px 0}.practice-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:54px 0 35px}.practice-steps>div{border-top:1px solid #4a5364;padding-top:23px}.practice-steps h3{font-size:20px;margin-bottom:14px}.practice-steps p{font-size:14px;color:var(--muted);line-height:1.9}.writing-section{padding:50px 0 100px}.writing-row{display:grid;grid-template-columns:100px 1fr 24px;gap:30px;align-items:center;padding:30px 0;border-top:1px solid var(--border);color:#e8edf8}.writing-row span{font-size:12px;color:#9dacc6}.writing-row h3{font-size:21px}.writing-row:hover{color:#b3c7ff}.portfolio-faq{max-width:850px;margin:0 auto;padding:40px 0 100px}.portfolio-faq h2{margin-bottom:35px}.faq-entry{padding-block:24px}.faq-entry summary{font-weight:400;font-size:17px}.faq-entry p{font-size:14px;color:#b9c5da;line-height:1.95;max-width:75ch}.contact-finale{padding:100px 0 30px;border-top:1px solid var(--border)}.contact-finale>p{font-size:16px;color:#b9c8e2}.contact-finale h2{font-size:clamp(56px,8vw,96px);margin:22px 0 38px}.finale-meta{display:flex;gap:30px;padding:70px 0 15px;font-size:12px;color:#a1adc4}.finale-meta span{margin-right:auto}.finale-meta a{color:#a1adc4}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b6ceff;outline-offset:7px}::selection{background:#bfd0ff;color:#102147}html{scrollbar-color:#4c5b74 #10141c}
@media(min-width:1600px){.stage-art{inset:-80px -10vw 0}.signature{font-size:150px}}
@media(max-width:900px){.container{padding-inline:24px}.nav-links{gap:18px}.stage-art{inset:-60px -24px 0}.stage{min-height:690px}.stage-bottom{align-items:flex-start}.stage-actions{flex-direction:column;align-items:flex-end;gap:10px}.portfolio-intro{gap:6%;padding-block:95px}.project-caption>span{max-width:130px}.practice-steps{gap:28px}.project-row{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.container{padding-inline:22px}.nav{height:auto;min-height:88px;gap:18px;padding-block:20px}.brand span{font-size:10px;margin-left:6px}.nav-links{gap:12px 17px}.nav-links a{font-size:12px}.nav-links li:nth-child(1),.nav-links li:nth-child(4){display:none}.stage{height:auto;min-height:710px;padding-top:260px}.stage-art{inset:-40px -22px 0;background:radial-gradient(ellipse at 65% 25%,#1b2c51,#0b0d12 65%)}.stage-heading h1{font-size:32px}.stage-heading h1 span{font-size:12px;margin-top:8px}.signature{font-size:clamp(60px,16vw,90px);margin:18px 0 22px}.signature span{font-size:12px;margin-top:8px}.stage-bottom{flex-direction:column;gap:24px;padding-bottom:32px}.stage-description{font-size:18px}.stage-role{font-size:12px}.stage-actions{flex-direction:row;align-items:center;gap:20px}.round-link{padding:14px 20px;font-size:13px;gap:24px}.text-link{font-size:12px;gap:9px}.stage-utility{font-size:10px;gap:8px;padding-block:14px}.portfolio-intro{grid-template-columns:1fr;gap:30px;padding:80px 0}.portfolio-intro p{font-size:15px}.section-title{margin-bottom:28px}.section-title>a{font-size:11px;gap:8px}.guanyin-art{min-height:270px}.art-word{font-size:75px}.evidence-flow{gap:10px;margin-top:16px;font-size:10px}.evidence-flow span{padding:6px 12px}.evidence-flow i{width:25px}.project-caption{padding:18px 0 30px;gap:12px}.project-caption h3{font-size:20px}.project-caption p{font-size:12px}.project-caption>span{font-size:10px;gap:10px;max-width:115px}.project-pair{grid-template-columns:1fr;gap:10px}.project-pair .project-art{height:290px}.project-row h3{font-size:19px}.project-row>div:last-child{gap:24px}.practice-section{padding:80px 0}.practice-steps{grid-template-columns:1fr;gap:30px;margin:35px 0 25px}.writing-section{padding:20px 0 65px}.writing-row{grid-template-columns:1fr 24px;gap:8px;padding:23px 0}.writing-row span{grid-column:1/-1}.writing-row h3{font-size:18px}.portfolio-faq{padding-bottom:75px}.faq-entry summary{font-size:15px}.contact-finale{padding-top:65px}.finale-meta{flex-wrap:wrap;gap:16px;padding-top:50px}.finale-meta span{flex-basis:100%}.site-footer .container{flex-direction:column;gap:10px}.section{padding-block:32px}.section h1{font-size:28px}.progress-list>div{grid-template-columns:1fr;gap:7px}}
.shizhen-art{min-height:370px;background:#382938;color:#f4deef;flex-direction:column}.shizhen-art .evidence-flow span{border-color:#a582a1}.shizhen-art .evidence-flow i{border-color:#a582a1}.shizhen-feature .project-caption p{max-width:65ch}
@media(min-width:901px){.stage{min-height:0;padding-top:30px}.stage-bottom{padding-bottom:24px}.signature{margin-bottom:20px}}
@media(max-width:600px){.shizhen-art{min-height:270px}.shizhen-feature .project-caption{align-items:flex-start}.shizhen-feature .project-caption>span{min-width:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.voice-bars i{transform:none}}

/* Keep mobile identity readable throughout the sculpture motion. */
@media(max-width:600px){.stage-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 18%,rgba(11,13,18,.7) 38%,rgba(11,13,18,.96) 68%,#0b0d12 85%)}}
.contact-finale h2{margin-bottom:12px}.contact-finale>p{margin-bottom:30px}
