@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');
:root{--orange:#ff7136;--ink:#080808;--soft:#bca99d;--line:#493127}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--orange);font-family:'Space Mono','PingFang SC','Microsoft YaHei',monospace}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #fff;outline-offset:5px}.top{height:76px;display:flex;align-items:center;gap:5vw;padding:0 5vw;border-bottom:1px solid var(--line);font-size:12px}.brand{font-size:20px;font-weight:bold;letter-spacing:-1px}.brand span,.hero h1 span,footer h2 span{color:#f7c6a4}.top nav{display:flex;gap:28px}.top nav a:hover{color:#fff}.topnote{margin-left:auto;color:var(--soft)}.hero{min-height:calc(100vh - 76px);padding:3.5vw 5vw 5vw;position:relative;display:flex;flex-direction:column;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em}.hero h1{font-family:'PingFang SC',sans-serif;line-height:.91;letter-spacing:-.09em;font-size:clamp(92px,15vw,230px);margin:auto 0 3vw;font-weight:800}.hero h1 em{font-style:normal;-webkit-text-stroke:2px var(--orange);color:transparent}.hero-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}.hero-bottom p{font-size:14px;line-height:1.8;margin:0}.scroll{font-size:12px}.scroll span{display:inline-block;font-size:24px;margin-left:25px;transition:transform .3s}.scroll:hover span{transform:translateY(7px)}.hero-code{position:absolute;right:8%;top:34%;font-size:12px;line-height:2;color:#735041}.hero-code span{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.ticker{overflow:hidden;border-block:1px solid var(--line);padding:15px 0;white-space:nowrap;font-size:11px;letter-spacing:.2em;color:#8a5941}.ticker div{width:max-content;animation:marquee 30s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:120px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--orange);padding-bottom:24px}.section-head>p{font-size:12px;color:var(--soft)}.index{font-size:11px;letter-spacing:.1em;color:#c17a56}.section h2{font-family:'PingFang SC',sans-serif;font-size:clamp(48px,8vw,112px);letter-spacing:-.07em;margin:20px 0 0;line-height:1}.section h2 span{color:#f4c7a8}.photo-intro{display:flex;justify-content:space-between;align-items:end;padding:55px 0 25px}.photo-intro h3{font-size:25px;margin:0 0 14px}.photo-intro p,.photo-intro span{font-size:12px;line-height:1.9;color:var(--soft)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery figure{margin:0;overflow:hidden}.gallery img{display:block;width:100%;height:42vw;object-fit:contain;background:#16110e;transition:transform .6s}.gallery figure:hover img{transform:scale(1.025)}figcaption{display:flex;justify-content:space-between;padding:14px 0;font-size:11px}.line-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--orange);padding:38px 0 18px;font-size:15px}.line-link span,.project-link{transition:transform .3s}.line-link:hover span{transform:translate(5px,-5px)}.film{background:#f36d34;color:#0a0908}.film .section-head{border-color:#26140e}.film .index,.film .section-head>p{color:#663422}.film h2 span{color:#fff0e5}.section-lead{margin:60px 0 20px;font-size:13px}.films a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:15px;border-top:1px solid #9b4829;padding:30px 0;transition:padding .3s,background .3s}.films a:last-child{border-bottom:1px solid #9b4829}.films a:hover{padding-left:20px;background:#ff8753}.films strong{font-size:clamp(20px,3.2vw,45px);letter-spacing:-.05em}.films small{font-size:.55em;letter-spacing:0}.films a>span{font-size:11px}.project{display:grid;grid-template-columns:35% 65%;gap:0;padding:70px 0;border-bottom:1px solid var(--line)}.project-copy{padding:15px 30px 15px 0}.project h3{font-size:clamp(36px,5vw,70px);letter-spacing:-.07em;margin:55px 0 20px}.project-copy>p:not(.index){font-size:13px;line-height:1.8}.muted{color:var(--soft)}.project-link{display:inline-block;margin-top:35px;border-bottom:1px solid;padding-bottom:8px;font-size:12px}.project-link:hover{transform:translateX(6px)}.project-image{background:#19130f;overflow:hidden}.project-image img{width:100%;height:100%;min-height:300px;object-fit:contain;display:block;transition:transform .5s}.project:hover img{transform:scale(1.025)}footer{padding:80px 5vw 35px;border-top:1px solid var(--orange);display:flex;justify-content:space-between;align-items:end}footer span,footer p,footer a{font-size:11px}footer h2{font-size:clamp(45px,8vw,100px);letter-spacing:-.08em;margin:30px 0 0}footer h2 span{font-size:inherit}@media(max-width:700px){.top{padding:0 20px;gap:20px}.top nav{gap:15px}.topnote{display:none}.hero{min-height:80vh;padding:30px 20px}.hero h1{font-size:27vw}.hero-code{right:8%;top:27%;font-size:9px}.section{padding:75px 20px}.section-head{align-items:start}.section-head>p{max-width:100px;text-align:right;line-height:1.7}.gallery{grid-template-columns:1fr}.gallery img{height:auto;max-height:75vh}.films a{grid-template-columns:32px 1fr}.films a>span:last-child{grid-column:2}.project{grid-template-columns:1fr;padding:40px 0}.project h3{margin:30px 0 15px}.project-copy{padding-bottom:30px}.project-image img{min-height:0}footer{padding:60px 20px 25px;flex-wrap:wrap;gap:30px}footer p{width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.hero h1.portfolio-title{font-family:"Space Mono",monospace;font-size:clamp(48px,12.8vw,200px);letter-spacing:-.09em;overflow-wrap:anywhere}
@media(max-width:700px){.hero h1.portfolio-title{font-size:14vw}}

.photos-extra img{height:35vw;object-fit:cover}.films{display:grid;grid-template-columns:1fr 1fr;gap:36px 20px}.films a,.films a:last-child{display:grid;grid-template-columns:35px 1fr;align-content:start;border-top:1px solid #9b4829;border-bottom:0;padding:15px 0;gap:12px}.films a:hover{padding-left:0;background:transparent}.films a img{grid-column:1 / -1;width:100%;aspect-ratio:16/9;object-fit:cover;transition:filter .3s}.films a:hover img{filter:brightness(.75)}.films strong{font-size:clamp(18px,2.3vw,32px)}.films a>span:last-child{grid-column:2}@media(max-width:700px){.films{grid-template-columns:1fr}.photos-extra img{height:auto;max-height:75vh}}

.photos-extra{gap:5px}.photos-extra figure{line-height:0}

/* 摄影代表作：保留照片比例，紧密排列 */
.photos-extra { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-flow: dense; gap: 5px; }
.photos-extra figure { grid-column: span 2; margin: 0; }
.photos-extra figure.portrait { grid-column: span 1; grid-row: span 2; }
.photos-extra .photo-open { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: #16110e; cursor: zoom-in; overflow: hidden; }
.photos-extra .photo-open:focus-visible { outline: 2px solid white; outline-offset: -3px; }
.photos-extra .photo-open img { width: 100%; height: 100%; max-height: none; min-height: 0; object-fit: contain; }
.photo-lightbox { padding: 0; border: 0; background: transparent; max-width: 100vw; max-height: 100dvh; overflow: visible; }
.photo-lightbox::backdrop { background: rgba(0,0,0,.93); }
.photo-lightbox img { display: block; max-width: 92vw; max-height: 88dvh; object-fit: contain; }
.photo-lightbox button { position: absolute; right: 0; top: -42px; color: #fff; background: transparent; border: 0; font-size: 30px; cursor: pointer; }
@media(max-width:700px) { .photos-extra { grid-template-columns: repeat(2, 1fr); } .photos-extra figure { grid-column: span 2; } .photos-extra figure.portrait { grid-column: span 1; } }

/* 首页终端 */
.terminal{position:absolute;right:5vw;top:27%;width:min(34vw,430px);border:1px solid #8e4d32;background:#0b0908;box-shadow:10px 10px 0 #24140e;font-size:11px;line-height:1.7}
.terminal-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 13px;border-bottom:1px solid #69402e;color:#b17e65;font-size:10px}
.terminal-dots{display:flex;gap:5px}.terminal-dots i{display:block;width:6px;height:6px;border:1px solid #d16a3c;border-radius:50%}.terminal-dots i:first-child{background:#f36d34}
.terminal-body{padding:15px 18px 18px}.terminal-body p{margin:0 0 14px;white-space:nowrap}.terminal-body p:last-child{margin:16px 0 0}.terminal-prompt{color:#f5b488}.terminal-path{color:#e6d2c2}.terminal-muted{color:#b78a70}.terminal-links{display:flex;flex-wrap:wrap;gap:6px 18px;padding-left:4px}.terminal-links a{color:#ff8552;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}.terminal-links a:hover,.terminal-links a:focus-visible{color:#fff1e8;text-decoration-color:currentColor}.terminal-cursor{display:inline-block;width:7px;height:1em;vertical-align:-.15em;background:var(--orange);animation:blink 1s steps(2) infinite}
@media(max-width:700px){.hero{min-height:85vh}.terminal{position:relative;top:auto;right:auto;width:min(100%,400px);margin:0 0 30px auto;font-size:10px;order:0}.hero h1{order:0;margin:auto 0 8vw}.hero-bottom{order:1}.terminal-body{padding:12px}.terminal-bar{padding:7px 10px}}
