:root{--ink:#111315;--ink-soft:#25282b;--canvas:#f0efe8;--paper:#fbfaf5;--muted:#5d6165;--line:#c7c7c0;--line-dark:#3f4246;--blue:#1648ff;--blue-dark:#0d2d9f;--yellow:#ffd928;--cardboard:#b69061;--white:#fff;--font-body:var(--font-geist-sans), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:"Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;--font-mono:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;--page-gutter:clamp(20px, 4vw, 64px);--max-width:1600px;--header-height:64px;--motion-fast:.18s;--motion-medium:.32s}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}main{animation:.44s cubic-bezier(.22,1,.36,1) both route-enter}@keyframes route-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}body:before{z-index:1000;pointer-events:none;content:"";mix-blend-mode:multiply;background-image:repeating-linear-gradient(0deg,#11131506 0 1px,#0000 1px 4px);position:fixed;inset:0}::selection{background:var(--yellow);color:var(--ink)}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{max-width:100%;height:auto;display:block}figure,dl,dd,p,h1,h2,h3,h4,ol{margin:0}:is(a:focus-visible,button:focus-visible){outline:2px solid var(--paper);outline-offset:2px;box-shadow:0 0 0 5px var(--ink), 0 0 0 7px var(--paper)}.skip-link{z-index:2000;background:var(--yellow);color:var(--ink);transition:transform var(--motion-fast) ease-out;padding:12px 18px;font-weight:700;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;min-height:var(--header-height);border-bottom:1px solid var(--ink);background:var(--canvas);justify-content:space-between;align-items:stretch;display:flex;position:sticky;top:0}.brand{min-width:260px;min-height:var(--header-height);padding:0 var(--page-gutter);border-right:1px solid var(--ink);cursor:pointer;transition:background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;align-items:center;gap:16px;display:flex;position:relative;overflow:hidden}.brand-mark{width:28px;height:28px;image-rendering:crisp-edges;transition:transform var(--motion-fast) ease-out;flex:0 0 28px}.brand strong{letter-spacing:.05em;transition:transform var(--motion-fast) ease-out;font-size:17px}.brand span,.mono-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:560;line-height:1.35}.brand-subtitle{color:var(--muted);transition:opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out}.brand-destination{right:var(--page-gutter);color:var(--paper);opacity:0;transition:opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;position:absolute;transform:translate(-8px)}:is(.brand:hover,.brand:focus-visible){background:var(--blue);color:var(--paper)}:is(.brand:hover .brand-subtitle,.brand:focus-visible .brand-subtitle){opacity:0;transform:translateY(-8px)}:is(.brand:hover .brand-destination,.brand:focus-visible .brand-destination){opacity:1;transform:translate(0)}.brand:active strong{transform:translateY(1px)}:is(.brand:hover .brand-mark,.brand:focus-visible .brand-mark){transform:rotate(-3deg)}.site-header nav{align-items:stretch;display:flex}.site-header nav a{border-left:1px solid var(--ink);min-width:76px;min-height:44px;transition:background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;place-items:center;padding:0 20px;font-size:14px;font-weight:650;display:grid}.site-header nav a:hover{background:var(--ink);color:var(--paper)}.site-header nav .nav-contact{background:var(--yellow)}.hero{min-height:min(860px, calc(100svh - var(--header-height)));border-bottom:1px solid var(--ink);background:var(--paper);grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr);align-items:center;display:grid}.hero-copy{padding:clamp(64px, 7vw, 104px) var(--page-gutter);flex-direction:column;justify-content:center;align-items:flex-start;animation:.52s ease-out both reveal-up;display:flex}.hero-kicker{background:var(--yellow);padding:8px 10px}.hero h1{width:fit-content;max-width:100%;font-family:var(--font-display);letter-spacing:-.065em;margin-top:clamp(30px,4.2vw,56px);font-size:clamp(32px,3.6vw,68px);font-weight:700;line-height:1.04}.hero-title-line{white-space:nowrap;display:block}.hero-intro{max-width:660px;color:var(--ink-soft);margin-top:32px;font-size:clamp(17px,1.25vw,21px);line-height:1.8}.hero-fields{color:var(--blue-dark);font-family:var(--font-mono);letter-spacing:.03em;margin-top:24px;font-size:12px;font-weight:650}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:40px;display:flex}.primary-action,.secondary-action{border:1px solid var(--ink);min-height:48px;transition:transform var(--motion-fast) ease-out, background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;justify-content:center;align-items:center;gap:18px;padding:12px 20px;font-weight:720;display:inline-flex}.primary-action{background:var(--blue);color:var(--white)}.secondary-action{background:0 0}.primary-action:hover,.secondary-action:hover{transform:translateY(-3px)}.secondary-action:hover{background:var(--ink);color:var(--paper)}.hero-visual{isolation:isolate;background:var(--blue);grid-template-rows:auto auto;align-self:center;width:100%;min-height:0;padding:12px;display:grid;position:relative;overflow:hidden}.hero-carousel-viewport{border:1px solid var(--ink);aspect-ratio:3/2;background:var(--ink);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.hero-slide{background:var(--ink);opacity:0;pointer-events:none;place-items:center;transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.6s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0;overflow:hidden;transform:scale(.992)}.hero-slide[aria-hidden=false]{z-index:1;opacity:1;transform:scale(1)}.hero-slide img{background:var(--ink);object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hero-slide[aria-hidden=false] img{animation:6.5s cubic-bezier(.22,1,.36,1) both hero-slide-drift}.hero-visual figcaption{z-index:3;background:var(--ink);min-height:58px;color:var(--white);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:11px;display:flex;position:relative}.hero-caption-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.hero-caption-copy>span:last-child{color:#bdc1c7;font-size:9px}.hero-carousel-controls{flex-shrink:0;align-items:center;gap:5px;margin-left:auto;display:flex}.hero-carousel-counter{color:var(--yellow);font-variant-numeric:tabular-nums;margin-right:6px;font-size:10px}.hero-carousel-button{border:1px solid var(--line-dark);min-width:34px;min-height:34px;color:var(--paper);cursor:pointer;font-family:var(--font-mono);transition:background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;background:0 0;border-radius:0;place-items:center;padding:4px 8px;font-size:13px;line-height:1;display:inline-grid}.hero-carousel-button:hover{background:var(--paper);color:var(--ink)}.hero-carousel-button:disabled{color:#8e9298;cursor:default;border-color:#0000}.hero-carousel-pause{min-width:52px;font-size:10px}.hero-marker{border-right:1px solid var(--line-dark);background:var(--yellow);min-width:126px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.1em;align-self:stretch;place-items:center;margin:-12px 0 -12px -16px;padding:10px 16px;font-size:11px;font-weight:700;display:grid;position:static}.evidence-strip{border-bottom:1px solid var(--ink);background:var(--yellow);grid-template-columns:repeat(4,1fr);display:grid}.evidence-strip>div{min-height:132px;padding:24px var(--page-gutter);border-right:1px solid var(--ink)}.evidence-strip>div:last-child{border-right:0}.evidence-strip strong{font-family:var(--font-mono);font-size:clamp(28px,3vw,48px);line-height:1;display:block}.evidence-strip span{margin-top:14px;font-size:13px;font-weight:650;display:block}.method-section{border-bottom:1px solid var(--line-dark);background:var(--ink);color:var(--paper)}.observation-head{width:min(100%, var(--max-width));margin:0 auto}.method-directory-shell{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));min-height:min(860px, calc(100svh - var(--header-height)));padding:0 var(--page-gutter);grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);margin:0 auto;display:grid}.method-principle{border-right:1px solid var(--line-dark);flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(72px,9vw,132px) clamp(44px,7vw,112px) clamp(72px,9vw,132px) 0;display:flex}.method-principle .mono-label,.directory-heading .mono-label{color:var(--yellow)}.method-principle h2,.observation-head h2,.contact h2{font-family:var(--font-display);letter-spacing:-.055em;font-weight:650;line-height:1.17}.method-principle h2{max-width:10.2em;margin-top:clamp(96px,15vw,220px);font-size:clamp(48px,5.35vw,84px);line-height:1.14}.method-title-line{display:block}.project-directory{flex-direction:column;min-width:0;padding:clamp(72px,9vw,132px) 0 clamp(72px,9vw,132px) clamp(36px,5vw,80px);display:flex}.directory-heading{justify-content:space-between;align-items:baseline;gap:24px;min-height:28px;display:flex}.directory-heading>span{color:#8c8f92;font-family:var(--font-mono);letter-spacing:.08em;font-size:9px;font-weight:650}.project-directory ol{border-bottom:1px solid var(--line-dark);flex-direction:column;flex:1;margin-top:clamp(54px,7vw,96px);padding:0;list-style:none;display:flex}.project-directory li{border-top:1px solid var(--line-dark);flex:1;display:flex}.project-directory a{width:100%;min-height:104px;color:var(--paper);transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, padding var(--motion-fast) ease;grid-template-rows:auto auto;grid-template-columns:clamp(82px,7vw,108px) minmax(0,1fr) auto;align-content:center;column-gap:clamp(14px,2vw,24px);padding:13px 20px;text-decoration:none;display:grid}.project-directory a>span:first-child{font-family:var(--font-display);letter-spacing:-.045em;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:1/2;font-size:clamp(22px,1.8vw,30px);font-weight:650;line-height:1.12;display:-webkit-box;overflow:hidden}.project-directory small{color:#96999b;font-family:var(--font-mono);letter-spacing:.08em;grid-area:2/2;margin-top:9px;font-size:9px;font-weight:650}.directory-thumbnail{background:var(--ink-soft);border:1px solid #5b5e61;grid-area:1/1/span 2;align-self:center;width:100%;height:66px;display:block;position:relative;overflow:hidden}.directory-thumbnail img{filter:saturate(.7)contrast(1.06);object-fit:cover;opacity:.86;width:100%;height:100%;transition:filter var(--motion-medium) ease, opacity var(--motion-medium) ease, transform var(--motion-medium) ease}.directory-thumbnail-data{border-color:var(--blue);background:var(--blue);color:var(--paper);place-items:center;display:grid}.directory-thumbnail-data b{font-family:var(--font-mono);letter-spacing:-.06em;font-size:clamp(17px,1.5vw,23px);font-weight:650}.project-directory strong{color:var(--yellow);font-family:var(--font-mono);transition:transform var(--motion-fast) ease;grid-area:1/3/span 2;align-self:center;font-size:24px;font-weight:450}:is(.project-directory a:hover,.project-directory a:focus-visible){background:var(--yellow);color:var(--ink);padding-left:26px;padding-right:14px}:is(.project-directory a:hover small,.project-directory a:focus-visible small,.project-directory a:hover strong,.project-directory a:focus-visible strong){color:var(--ink)}:is(.project-directory a:hover .directory-thumbnail,.project-directory a:focus-visible .directory-thumbnail){border-color:var(--ink)}:is(.project-directory a:hover .directory-thumbnail img,.project-directory a:focus-visible .directory-thumbnail img){filter:none;opacity:1;transform:scale(1.04)}:is(.project-directory a:hover .directory-thumbnail-data,.project-directory a:focus-visible .directory-thumbnail-data){background:var(--ink);color:var(--yellow)}:is(.project-directory a:hover strong,.project-directory a:focus-visible strong){transform:translate(3px,3px)}.projects{background:var(--canvas)}.observation-head .mono-label{color:var(--blue)}.project{scroll-margin-top:var(--header-height);border-top:1px solid var(--ink);position:relative;overflow:hidden}.project-heading{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));padding:clamp(64px, 9vw, 124px) var(--page-gutter) clamp(48px, 6vw, 90px);grid-template-columns:minmax(120px,.65fr) minmax(0,2.35fr);gap:clamp(30px,6vw,96px);margin:0 auto;display:grid}.project-index{font-family:var(--font-mono);letter-spacing:-.09em;font-size:clamp(48px,8vw,128px);font-weight:500;line-height:.8}.project-heading .mono-label{color:var(--blue)}.project-heading h3{font-family:var(--font-display);letter-spacing:-.07em;margin-top:20px;font-size:clamp(46px,7vw,110px);font-weight:700;line-height:1}.project-thesis{max-width:31ch;margin-top:30px;font-size:clamp(19px,2vw,30px);font-weight:560;line-height:1.5}.project-hero-image{width:min(100% - 2 * var(--page-gutter), var(--max-width));background:var(--ink);margin:0 auto;position:relative;overflow:hidden}.project-hero-image img{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform var(--motion-medium) ease-out}.project-hero-image:hover img{transform:scale(1.015)}.image-note{background:var(--yellow);color:var(--ink);font-family:var(--font-mono);letter-spacing:.05em;padding:10px 14px;font-size:11px;font-weight:650;position:absolute;bottom:0;right:0}.project-body{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));padding:clamp(56px, 7vw, 104px) var(--page-gutter) clamp(72px, 10vw, 148px);grid-template-columns:minmax(220px,.8fr) minmax(0,2.2fr);gap:clamp(48px,8vw,140px);margin:0 auto;display:grid}.project-meta,.opc-copy dl,.dust-copy dl,.film-stats{border-top:1px solid}.meta-item{border-bottom:1px solid color-mix(in srgb, currentColor 36%, transparent);grid-template-columns:92px 1fr;gap:14px;padding:15px 0;display:grid}.meta-item dt{font-family:var(--font-mono);letter-spacing:.09em;font-size:10px;font-weight:650}.meta-item dd{font-size:13px;font-weight:620;line-height:1.55}.project-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px clamp(36px,6vw,90px);display:grid}.project-story h4{font-family:var(--font-mono);letter-spacing:.1em;font-size:11px}.project-story p{color:var(--ink-soft);margin-top:16px;font-size:17px;line-height:1.85}.text-link{min-height:44px;color:var(--blue-dark);border-bottom:2px solid;justify-content:space-between;align-items:center;gap:28px;padding:8px 0;font-weight:700;display:inline-flex}.text-link:hover span:last-child{transform:translate(2px,-2px)}.text-link span:last-child{transition:transform var(--motion-fast) ease-out}.station-media{padding:clamp(72px, 9vw, 132px) var(--page-gutter) clamp(88px, 12vw, 176px);border-top:1px solid var(--ink);background:var(--paper)}.station-media-heading,.station-video,.station-poster-heading,.station-poster-grid{width:min(100%, var(--max-width));margin-left:auto;margin-right:auto}.station-media-heading{grid-template-columns:minmax(0,1.65fr) minmax(180px,.35fr);align-items:end;gap:clamp(32px,6vw,100px);display:grid}.station-media-heading h4{max-width:18ch;font-family:var(--font-display);letter-spacing:-.06em;margin-top:24px;font-size:clamp(34px,4.8vw,72px);font-weight:700;line-height:1.08}.station-media-heading>p,.station-poster-heading>p:last-child{border-top:1px solid var(--ink);font-family:var(--font-mono);letter-spacing:.08em;padding-top:14px;font-size:10px;font-weight:650}.station-video{border:1px solid var(--ink);background:var(--ink);color:var(--paper);margin-top:clamp(42px,6vw,80px)}.station-video video{aspect-ratio:16/9;object-fit:contain;background:#060708;width:100%;display:block}.station-video figcaption,.station-poster-card figcaption{border-top:1px solid var(--line-dark);background:var(--ink);min-height:48px;color:var(--paper);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:24px;padding:10px 14px;font-size:9px;font-weight:650;display:flex}.station-video figcaption span:last-child,.station-poster-card figcaption span:first-child{color:var(--yellow)}.station-poster-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr) minmax(180px,.45fr);align-items:start;gap:clamp(28px,5vw,80px);margin-top:clamp(80px,11vw,150px);padding:0 0 clamp(30px,4vw,52px);display:grid}.station-poster-heading h4{max-width:27ch;font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(28px,3.6vw,54px);font-weight:700;line-height:1.18}.station-poster-grid{border:1px solid var(--ink);background:var(--ink);grid-template-columns:minmax(0,2.08fr) minmax(240px,1fr);align-items:start;gap:1px;margin-top:clamp(32px,5vw,72px);display:grid}.station-poster-stack{gap:1px;display:grid}.station-poster-card{background:var(--ink);min-width:0}.station-poster-card a{background:var(--ink);display:block;overflow:hidden}.station-poster-card img{width:100%;height:auto;transition:transform var(--motion-medium) ease-out;display:block}:is(.station-poster-card a:hover img,.station-poster-card a:focus-visible img){transform:scale(1.01)}.image-pair{background:var(--ink);grid-template-columns:1fr 1fr;display:grid}.image-pair figure{border-right:1px solid var(--canvas);position:relative;overflow:hidden}.image-pair figure:last-child{border-right:0}.image-pair img{aspect-ratio:16/9;object-fit:cover;width:100%;height:100%}.image-pair figcaption{background:var(--ink);color:var(--paper);font-family:var(--font-mono);letter-spacing:.08em;padding:10px 14px;font-size:10px;position:absolute;bottom:0;left:0}.project-tech{background:var(--blue);color:var(--white)}.project-tech .project-heading .mono-label{color:var(--yellow)}.tech-media-grid{background:var(--ink);grid-template-columns:minmax(0,1.72fr) minmax(300px,.98fr);gap:1px;min-height:720px;display:grid}.tech-gallery,.tech-video{background:var(--ink);min-width:0;color:var(--paper);grid-template-rows:minmax(0,1fr) auto;display:grid}.tech-gallery{overflow:hidden}.tech-gallery-viewport{--media-mat-inset:clamp(10px, 1.2vw, 20px);aspect-ratio:16/10;border:1px solid var(--line);background:var(--canvas);min-height:0;position:relative;overflow:hidden}.tech-gallery-slide{inset:var(--media-mat-inset);border:1px solid var(--line);background:var(--paper);opacity:0;pointer-events:none;place-items:center;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;overflow:hidden;transform:scale(1.012)}.tech-gallery-slide[data-active=true]{z-index:1;opacity:1;transform:scale(1)}.tech-gallery-slide img{background:var(--paper);object-fit:contain;object-position:center;width:100%;height:100%;position:absolute;inset:0}.tech-gallery-expand{background:var(--yellow);min-width:72px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;padding:0 12px;font-size:9px;font-weight:700;position:static}.tech-gallery-expand:hover{background:var(--paper)}.tech-gallery figcaption,.tech-video figcaption{z-index:2;border-top:1px solid var(--line-dark);background:var(--ink);justify-content:space-between;align-items:stretch;min-height:70px;display:flex;position:relative}.tech-gallery-caption-copy,.tech-video figcaption{align-content:center;gap:6px;min-width:0;padding:12px 16px}.tech-gallery-caption-copy{display:grid}.tech-gallery-caption-copy>span:first-child,.tech-gallery-counter,.tech-video figcaption>span:first-child,.tech-video-duration{color:var(--yellow);font-family:var(--font-mono);letter-spacing:.12em;font-size:9px;font-weight:700}.tech-gallery-caption-copy>span:last-child,.tech-video figcaption>span:last-child{color:#d4d4cf;font-size:12px;line-height:1.45}.tech-gallery-controls{flex:none;grid-template-columns:auto 42px auto 42px minmax(72px,auto);align-items:stretch;display:grid}.tech-gallery-counter{border-left:1px solid var(--line-dark);place-items:center;min-width:64px;padding:0 12px;display:grid}.tech-gallery-controls button,.tech-lightbox button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}.tech-gallery-controls button{border-left:1px solid var(--line-dark);min-width:42px;transition:background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;padding:0 10px}.tech-gallery-controls button:hover:not(:disabled){background:var(--yellow);color:var(--ink)}.tech-gallery-controls button:disabled{color:var(--muted);cursor:not-allowed}.tech-gallery-controls .tech-gallery-pause{min-width:58px;font-family:var(--font-mono);letter-spacing:.08em;font-size:9px;font-weight:700}.tech-video-stage{background:#090c0e;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.tech-video video{object-fit:contain;width:100%;height:100%;display:block}.tech-video-duration{z-index:2;background:var(--ink);padding:8px 10px;position:absolute;top:14px;right:14px}.tech-video figcaption{display:grid}.tech-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--paper);background:#050709f7;border:0;margin:0;padding:0}.tech-lightbox::backdrop{background:#050709eb}.tech-lightbox[open]{display:grid}.tech-lightbox-shell{grid-template-rows:54px minmax(0,1fr) 76px;min-width:0;min-height:0;padding:18px;display:grid}.tech-lightbox-header,.tech-lightbox-footer{border:1px solid var(--line-dark);background:var(--ink);font-family:var(--font-mono);align-items:center;display:grid}.tech-lightbox-header{grid-template-columns:1fr auto auto}.tech-lightbox-header>span{color:var(--yellow);letter-spacing:.1em;padding:0 16px;font-size:9px;font-weight:700}.tech-lightbox-header button,.tech-lightbox-footer button{border-left:1px solid var(--line-dark);height:100%;font-family:var(--font-mono);letter-spacing:.06em;transition:background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;padding:0 18px;font-size:10px;font-weight:700}.tech-lightbox-header button:hover,.tech-lightbox-footer button:hover{background:var(--yellow);color:var(--ink)}.tech-lightbox-image{place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.tech-lightbox-image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.tech-lightbox-footer{grid-template-columns:auto minmax(0,1fr) auto}.tech-lightbox-footer button:first-child{border-right:1px solid var(--line-dark);border-left:0}.tech-lightbox-footer p{color:#d4d4cf;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:0 18px;font-size:12px;overflow:hidden}.tech-lightbox-footer p span{color:var(--yellow);font-family:var(--font-mono);letter-spacing:.1em;margin-right:14px;font-size:9px;font-weight:700}.inverse-body .project-meta{color:var(--white)}.inverse-body .project-story p{color:#e7eaff}.boundary-note{background:color-mix(in srgb, var(--paper) 9%, transparent);border:1px solid;align-self:start;padding:20px}.boundary-note>span,.privacy-note{font-family:var(--font-mono);letter-spacing:.08em;font-size:10px;font-weight:650}.project-opc{background:var(--yellow)}.project-opc .project-heading .mono-label{color:var(--ink)}.opc-layout{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));padding:0 var(--page-gutter) clamp(80px, 11vw, 160px);grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:clamp(44px,8vw,130px);margin:0 auto;display:grid}.opc-result{border-top:8px solid var(--ink);padding-top:12px}.opc-result strong{font-family:var(--font-mono);letter-spacing:-.09em;margin-top:24px;font-size:clamp(64px,9vw,150px);line-height:.9;display:block}.opc-result p{max-width:24ch;margin-top:24px;font-size:17px;font-weight:650}.opc-copy>p{max-width:54ch;font-size:clamp(18px,1.8vw,26px);font-weight:530;line-height:1.75}.opc-copy dl{margin-top:44px}.scope-flow{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:20px;padding:0;list-style:none;display:grid}.scope-flow li{border:1px solid var(--ink);border-right:0;min-height:180px;padding:22px;position:relative}.scope-flow li:last-child{border-right:1px solid var(--ink);background:var(--blue);color:var(--white)}.scope-flow li:not(:last-child):after{z-index:2;border:1px solid var(--ink);background:var(--yellow);content:"→";width:30px;height:30px;font-family:var(--font-mono);place-items:center;display:grid;position:absolute;top:50%;right:-15px;transform:translateY(-50%)}.scope-flow span{font-family:var(--font-mono);letter-spacing:.08em;font-size:10px;font-weight:650;display:block}.scope-flow strong{max-width:24ch;margin-top:50px;font-size:18px;line-height:1.5;display:block}.privacy-note{border-top:1px solid var(--ink);grid-column:1/-1;padding-top:16px}.project-film{background:var(--ink);color:var(--paper)}.project-film .project-heading .mono-label{color:var(--yellow)}.film-frame{width:min(100% - 2 * var(--page-gutter), var(--max-width));margin:0 auto}.film-carousel{border-color:var(--line-dark)}.film-carousel .project-carousel-viewport{aspect-ratio:16/9;min-height:0}.film-info{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));padding:clamp(56px, 7vw, 100px) var(--page-gutter) clamp(80px, 11vw, 150px);grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr);gap:clamp(48px,8vw,140px);margin:0 auto;display:grid}.film-info>div>p{color:#d4d4cf;max-width:54ch;font-size:clamp(18px,1.5vw,23px);line-height:1.8}.film-note{max-width:720px;color:var(--yellow);margin-top:38px}.film-note p{color:var(--paper);font-size:15px}.project-dust{background:var(--paper)}.dust-layout{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));padding:0 var(--page-gutter) clamp(88px, 11vw, 168px);grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:clamp(40px,7vw,112px);margin:0 auto;display:grid}.project-carousel{border:1px solid var(--ink);background:var(--ink);min-width:0;color:var(--paper);align-self:start;display:grid;overflow:hidden}.project-carousel-viewport{--media-mat-inset:clamp(10px, 1.2vw, 20px);aspect-ratio:4/3;border:1px solid var(--line);background:var(--canvas);min-height:540px;position:relative;overflow:hidden}.project-slide{inset:var(--media-mat-inset);border:1px solid var(--line);background:var(--paper);opacity:0;pointer-events:none;place-items:center;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;overflow:hidden;transform:scale(1.012)}.project-slide[data-active=true]{z-index:1;opacity:1;transform:scale(1)}.project-slide img{background:var(--paper);object-fit:contain;object-position:center;width:100%;height:100%;position:absolute;inset:0}.project-carousel figcaption{z-index:2;border-top:1px solid var(--line-dark);background:var(--ink);justify-content:space-between;align-items:stretch;min-height:70px;display:flex;position:relative}.project-carousel-caption-copy{align-content:center;gap:6px;min-width:0;padding:12px 16px;display:grid}.project-carousel-caption-copy>span:first-child,.project-carousel-counter{color:var(--yellow);font-family:var(--font-mono);letter-spacing:.12em;font-size:9px;font-weight:700}.project-carousel-caption-copy>span:last-child{color:#d4d4cf;font-size:12px;line-height:1.45}.project-carousel-controls{flex:none;grid-template-columns:auto 42px auto 42px;align-items:stretch;display:grid}.project-carousel-counter{border-left:1px solid var(--line-dark);place-items:center;min-width:64px;padding:0 12px;display:grid}.project-carousel-controls button{border:0;border-left:1px solid var(--line-dark);min-width:42px;color:var(--paper);cursor:pointer;font:inherit;transition:background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;background:0 0;padding:0 10px;font-size:15px}.project-carousel-controls button:hover:not(:disabled){background:var(--yellow);color:var(--ink)}.project-carousel-controls button:disabled{color:var(--muted);cursor:not-allowed}.project-carousel-controls .project-carousel-pause{min-width:58px;font-family:var(--font-mono);letter-spacing:.08em;font-size:9px;font-weight:700}.dust-copy>p{color:var(--ink-soft);margin-top:42px;font-size:17px;line-height:1.85}.dust-copy .boundary-note{background:var(--canvas);margin-top:40px}.dust-copy .boundary-note p{margin-top:12px;font-size:14px;line-height:1.7}.observation{padding:clamp(90px, 12vw, 180px) var(--page-gutter);border-top:1px solid var(--line-dark);background:var(--ink-soft);color:var(--paper)}.observation-head{grid-template-columns:minmax(160px,.65fr) minmax(0,1.4fr) minmax(260px,.8fr);align-items:start;gap:clamp(32px,6vw,100px);display:grid}.observation-head h2{max-width:18ch;font-size:clamp(40px,5vw,74px)}.observation-head>p:last-child{color:#c9c9c3;font-size:16px}.photography-archive{width:min(100%, var(--max-width));margin:clamp(64px,8vw,112px) auto 0}.photography-toolbar{border:1px solid var(--line-dark);color:#c9c9c3;min-height:54px;font-family:var(--font-mono);letter-spacing:.1em;justify-content:space-between;align-items:stretch;font-size:10px;font-weight:650;display:flex}.photography-toolbar>span{align-items:center;padding:0 18px;display:flex}.photography-feed-trigger{border:0;border-left:1px solid var(--ink);background:var(--yellow);min-height:52px;color:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;transition:background var(--motion-fast) ease-out, color var(--motion-fast) ease-out;align-items:center;gap:28px;padding:0 18px;font-size:11px;font-weight:750;display:inline-flex}.photography-feed-trigger:hover{background:var(--paper)}.photography-feed-trigger>span:last-child{font-size:18px}.photography-grid{column-count:2;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);border-left:1px solid var(--line-dark);background:var(--line-dark);column-gap:1px}.photography-card{background:var(--ink);break-inside:avoid;width:100%;margin:0 0 1px;display:block;overflow:hidden}.photography-card button{background:var(--ink);width:100%;color:inherit;cursor:zoom-in;border:0;padding:0;display:block;overflow:hidden}.photography-grid img{filter:saturate(.85);width:100%;height:auto;transition:filter var(--motion-medium) ease-out;display:block}.photography-card button:hover img{filter:saturate(1.1)}.photography-card figcaption{border-top:1px solid var(--line-dark);color:#c9c9c3;min-height:42px;font-family:var(--font-mono);letter-spacing:.08em;grid-template-columns:52px 1fr;font-size:9px;font-weight:650;display:grid}.photography-card figcaption span{align-items:center;padding:0 12px;display:flex}.photography-card figcaption span:first-child{border-right:1px solid var(--line-dark);color:var(--yellow);justify-content:center}.photography-viewer{background:var(--ink);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--paper);border:0;margin:0;padding:0;overflow:hidden}.photography-viewer::backdrop{background:#111315f0}.photography-viewer-close{z-index:4;border:1px solid var(--ink);background:var(--yellow);min-height:44px;color:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:16px;padding:0 14px;font-size:10px;font-weight:750;display:inline-flex;position:fixed;top:18px;right:18px}.photography-viewer-close span:last-child{font-size:20px;line-height:1}.photography-lightbox,.photography-lightbox figure{width:100%;height:100%}.photography-lightbox figure{grid-template-rows:minmax(0,1fr) auto;display:grid}.photography-lightbox-stage{place-items:center;min-height:0;padding:clamp(64px,7vw,108px) clamp(18px,5vw,80px) 28px;display:grid}.photography-lightbox-stage img,.photography-feed-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.photography-lightbox figcaption{border-top:1px solid var(--line-dark);min-height:72px;font-family:var(--font-mono);grid-template-columns:1fr auto;display:grid}.photography-lightbox figcaption>div:first-child{align-items:center;gap:24px;padding:14px 20px;display:flex}.photography-lightbox figcaption span{color:var(--yellow);letter-spacing:.1em;font-size:10px}.photography-lightbox figcaption strong{letter-spacing:.06em;font-size:11px}.photography-lightbox-controls{grid-template-columns:repeat(2,64px);display:grid}.photography-lightbox-controls button{border:0;border-left:1px solid var(--line-dark);color:var(--paper);cursor:pointer;background:0 0;font-size:22px}.photography-lightbox-controls button:hover{background:var(--paper);color:var(--ink)}.photography-feed{overscroll-behavior:contain;scroll-snap-type:y mandatory;height:100dvh;overflow-y:auto}.photography-feed-item{border-bottom:1px solid var(--line-dark);scroll-snap-align:start;scroll-snap-stop:always;grid-template-columns:minmax(0,1fr) minmax(240px,22vw);width:100%;height:100dvh;display:grid}.photography-feed-stage{background:#0b0c0e;place-items:center;min-width:0;min-height:0;padding:clamp(58px,6vw,92px) clamp(16px,4vw,64px) 28px;display:grid}.photography-feed-caption{border-left:1px solid var(--line-dark);background:var(--ink-soft);flex-direction:column;justify-content:flex-end;min-height:0;padding:92px 28px 32px;display:flex}.photography-feed-caption>span:first-child,.photography-feed-hint{color:var(--yellow);font-family:var(--font-mono);letter-spacing:.1em;font-size:9px;font-weight:700}.photography-feed-caption strong{font-family:var(--font-display);margin-top:18px;font-size:clamp(28px,3vw,46px);line-height:1.12}.photography-feed-caption p{color:#c9c9c3;margin-top:22px;font-size:13px;line-height:1.65}.photography-feed-hint{margin-top:44px}.contact{padding:clamp(90px, 13vw, 192px) var(--page-gutter) 28px;background:var(--blue);color:var(--white)}.contact>.mono-label,.contact>h2,.contact>.contact-grid,.contact>.contact-links,.contact>footer{width:min(100%, var(--max-width));margin-left:auto;margin-right:auto}.contact>.mono-label{color:var(--yellow)}.contact h2{max-width:15ch;margin-top:34px;font-size:clamp(52px,8vw,124px)}.contact-grid{border-top:1px solid color-mix(in srgb, var(--white) 40%, transparent);grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:clamp(44px,8vw,132px);margin-top:46px;padding-top:24px;display:grid}.contact-details{max-width:760px}.contact-copy{color:#e7eaff;max-width:760px;font-size:clamp(18px,1.7vw,25px);line-height:1.75}.availability{font-family:var(--font-mono);letter-spacing:.03em;margin-top:28px;font-size:12px;font-weight:650}.wechat-contact{border:1px solid var(--white);background:var(--white);width:100%;color:var(--ink);margin:0}.wechat-contact figcaption{border-bottom:1px solid var(--ink);background:var(--yellow);min-height:42px;font-family:var(--font-mono);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-size:10px;font-weight:700;line-height:1.35;display:flex}.wechat-contact figcaption span:last-child{color:color-mix(in srgb, var(--ink) 68%, transparent);white-space:nowrap;font-size:9px}.wechat-contact a,.wechat-contact img{display:block}.wechat-contact img{width:100%;height:auto}.contact-links{border-top:1px solid var(--white);margin-top:clamp(58px,8vw,108px);display:grid}.contact-link{border-bottom:1px solid var(--white);min-height:74px;transition:padding var(--motion-fast) ease-out, background-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;justify-content:space-between;align-items:center;gap:30px;font-size:clamp(18px,2vw,30px);font-weight:700;display:flex}.contact-link:hover{background:var(--yellow);color:var(--ink);padding:0 18px}.contact footer{border-top:1px solid color-mix(in srgb, var(--white) 40%, transparent);font-family:var(--font-mono);letter-spacing:.07em;justify-content:space-between;gap:28px;margin-top:94px;padding-top:24px;font-size:10px;display:flex}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-slide-drift{0%{transform:scale(1.018)translateY(4px)}to{transform:scale(1)}}@media (hover:none){.brand-subtitle{opacity:0;transform:translateY(-8px)}.brand-destination{color:var(--blue-dark);opacity:1;transform:none}}@media (max-width:1100px){.hero{grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr)}.hero h1{font-size:clamp(32px,3.6vw,42px)}.evidence-strip{grid-template-columns:repeat(2,1fr)}.evidence-strip>div:nth-child(2){border-right:0}.evidence-strip>div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.method-directory-shell{grid-template-columns:minmax(0,1fr) minmax(410px,.92fr)}.project-heading{grid-template-columns:minmax(100px,.5fr) minmax(0,2.5fr)}.tech-media-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.9fr);min-height:620px}.observation-head{grid-template-columns:minmax(150px,.5fr) minmax(0,1.5fr)}.observation-head>p:last-child{grid-column:2}}@media (max-width:820px){:root{--header-height:58px}.brand{border-right:0;min-width:0;padding:0 18px}.brand .brand-subtitle,.site-header nav a:not(.nav-contact){display:none}.brand{gap:10px}.brand-destination{color:var(--blue-dark);opacity:1;font-size:10px;display:inline-flex;position:static;transform:none}:is(.brand:hover .brand-destination,.brand:focus-visible .brand-destination){color:var(--paper)}.site-header nav a{min-width:72px;padding:0 18px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:0;padding-top:64px;padding-bottom:64px}.hero h1{margin-top:36px;font-size:clamp(30px,8vw,54px)}.hero-intro{font-size:17px}.hero-visual{align-self:stretch;min-height:0;padding:10px}.hero-carousel-viewport{aspect-ratio:16/10}.hero-marker{top:30px}.method-directory-shell,.project-heading,.project-body,.opc-layout,.film-info,.dust-layout,.observation-head,.station-media-heading,.station-poster-heading{grid-template-columns:1fr}.station-media-heading>p,.station-poster-heading>p:last-child{width:min(100%,320px)}.station-poster-grid{grid-template-columns:minmax(0,1.7fr) minmax(210px,1fr)}.method-directory-shell{min-height:auto}.method-principle{border-right:0;border-bottom:1px solid var(--line-dark);min-height:620px;padding:72px 0}.method-principle h2{margin-top:120px;font-size:clamp(48px,10vw,76px)}.project-directory{padding:72px 0}.project-directory ol{margin-top:56px}.project-heading{gap:38px}.project-index{font-size:54px}.project-heading h3{font-size:clamp(48px,13vw,80px)}.project-body,.film-info,.dust-layout{gap:46px}.project-story{grid-template-columns:1fr}.text-link{width:100%}.tech-media-grid{grid-template-columns:1fr;min-height:0}.tech-video-stage{aspect-ratio:16/9}.tech-lightbox-shell{padding:10px}.opc-layout{gap:52px}.scope-flow{grid-template-columns:1fr}.scope-flow li{border-right:1px solid var(--ink);border-bottom:0;min-height:150px}.scope-flow li:last-child{border-bottom:1px solid var(--ink)}.scope-flow li:not(:last-child):after{content:"↓";top:auto;bottom:-15px;right:50%;transform:translate(50%)}.scope-flow strong{margin-top:34px}.project-carousel-viewport{min-height:0}.observation-head{gap:28px}.observation-head>p:last-child{grid-column:auto}.photography-feed-item{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.photography-feed-stage{padding:64px 14px 12px}.photography-feed-caption{border-top:1px solid var(--line-dark);border-left:0;min-height:158px;padding:18px 20px 20px}.photography-feed-caption strong{margin-top:8px;font-size:26px}.photography-feed-caption p{max-width:60ch;margin-top:8px}.photography-feed-hint{margin-top:12px}.contact h2{font-size:clamp(50px,12vw,82px)}.contact-grid{grid-template-columns:1fr;gap:38px}.wechat-contact{justify-self:start;width:min(100%,360px)}}@media (max-width:600px){.tech-gallery figcaption{flex-direction:column;min-height:0}.tech-gallery-caption-copy{min-height:68px}.tech-gallery-controls{border-top:1px solid var(--line-dark);grid-template-columns:1fr 44px minmax(58px,auto) 44px minmax(68px,auto);min-height:44px}.tech-gallery-counter{border-left:0;justify-content:start}.tech-lightbox-shell{grid-template-rows:52px minmax(0,1fr) auto;padding:0}.tech-lightbox-header>span:first-child{display:none}.tech-lightbox-header{grid-template-columns:1fr auto}.tech-lightbox-footer{grid-template-columns:1fr 1fr;min-height:104px}.tech-lightbox-footer p{display:none}.tech-lightbox-footer button{min-height:52px}.project-carousel figcaption{flex-direction:column;min-height:0}.project-carousel-caption-copy{min-height:68px}.project-carousel-controls{border-top:1px solid var(--line-dark);grid-template-columns:1fr 44px minmax(58px,auto) 44px;min-height:44px}.project-carousel-counter{border-left:0;justify-content:start}.hero-actions{width:100%;display:grid}.primary-action,.secondary-action{width:100%}.hero-visual{padding:8px}.hero-carousel-viewport{aspect-ratio:4/3}.tech-gallery-viewport,.project-carousel-viewport{--media-mat-inset:8px}.hero-visual figcaption{flex-direction:column;align-items:stretch;gap:4px}.hero-marker{border-right:0;border-bottom:1px solid var(--line-dark);min-height:38px;margin:-12px -16px 4px}.hero-carousel-controls{justify-content:flex-end;margin-top:6px;margin-left:0}.evidence-strip{grid-template-columns:1fr}.evidence-strip>div{border-right:0;border-bottom:1px solid var(--ink);min-height:112px}.evidence-strip>div:last-child{border-bottom:0}.method-principle{min-height:520px;padding:60px 0}.method-principle h2{margin-top:96px;font-size:clamp(42px,12.5vw,64px)}.project-directory{padding:60px 0}.directory-heading>span{display:none}.project-directory ol{margin-top:40px}.project-directory a{grid-template-columns:clamp(72px,24vw,88px) minmax(0,1fr) auto;column-gap:14px;min-height:116px;padding:14px}.project-directory a>span:first-child{font-size:clamp(22px,6vw,28px)}.directory-thumbnail{height:62px}:is(.project-directory a:hover,.project-directory a:focus-visible){padding-left:18px;padding-right:10px}.project-hero-image,.film-frame{width:100%}.station-media{padding-left:0;padding-right:0}.station-media-heading,.station-poster-heading{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}.station-video,.station-poster-grid{border-left:0;border-right:0}.station-video figcaption,.station-poster-card figcaption{min-height:44px}.station-poster-grid{grid-template-columns:1fr}.image-note{position:static}.meta-item{grid-template-columns:76px 1fr}.image-pair{grid-template-columns:1fr}.image-pair figure{border-right:0;border-bottom:1px solid var(--canvas)}.image-pair figure:last-child{border-bottom:0}.film-carousel .project-carousel-viewport{aspect-ratio:4/3}.photography-toolbar{flex-direction:column;min-height:0}.photography-toolbar>span{min-height:42px}.photography-feed-trigger{border-top:1px solid var(--ink);border-left:0;justify-content:space-between;width:100%}.photography-grid{column-count:1}.photography-card figcaption{min-height:40px}.photography-viewer-close{top:10px;right:10px}.photography-lightbox figcaption{grid-template-columns:1fr;min-height:0}.photography-lightbox figcaption>div:first-child{min-height:58px}.photography-lightbox-controls{border-top:1px solid var(--line-dark);grid-template-columns:repeat(2,1fr);min-height:48px}.photography-lightbox-controls button:first-child{border-left:0}.contact-link{min-height:68px;font-size:17px}.contact-grid{margin-top:34px;padding-top:18px}.wechat-contact{width:min(100%,320px)}.contact footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.skip-link,.hero-actions,.hero-marker,.hero-carousel-controls,.photography-toolbar,.photography-viewer,.contact footer a{display:none!important}body{background:var(--white)}.hero,.method-section,.project,.observation,.contact{break-inside:avoid}}
