Skip to content

Commit 0b8a211

Browse files
committed
Swap hero and contact photography
1 parent 4175a7f commit 0b8a211

2 files changed

Lines changed: 16 additions & 16 deletions

File tree

app/globals.css

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ main > section { transition: margin-left 360ms cubic-bezier(0.22, 1, 0.36, 1); }
129129
.hero h1 span { display: block; color: var(--blue); }
130130
.hero-lead { max-width: 910px; margin: 17px 0 0; color: #4b5565; font-size: clamp(15px, 1.2vw, 18px); line-height: 1.72; }
131131
.profile-card { grid-column: 9 / 13; grid-row: 1; overflow: hidden; border: 1px solid var(--line-strong); background: var(--white); box-shadow: 0 16px 38px rgba(16, 24, 40, 0.08); }
132-
.profile-card > img { width: 100%; height: 232px; object-fit: cover; object-position: 63% 45%; transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1); }
132+
.profile-card > img { width: 100%; height: 232px; object-fit: cover; object-position: 52% 52%; transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1); }
133133
.profile-card:hover > img { transform: scale(1.025); }
134134
.profile-body { padding: 15px 17px; }
135135
.profile-name { display: flex; gap: 9px; align-items: baseline; }
@@ -281,25 +281,25 @@ main > section { transition: margin-left 360ms cubic-bezier(0.22, 1, 0.36, 1); }
281281
.opensource-row > svg { color: var(--blue); transition: transform 180ms ease; }
282282
.opensource-row:hover > svg { transform: translate(3px, -3px); }
283283

284-
.contact-section { position: relative; isolation: isolate; overflow: hidden; padding: 96px 0 30px; color: var(--white); background: var(--blue-dark); }
285-
.contact-section::before { position: absolute; z-index: -2; inset: -18px; background: url('/contact-mountain.jpg') center 48% / cover no-repeat; content: ""; filter: blur(8px); transform: scale(1.035); }
286-
.contact-section::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(102deg, rgba(5, 25, 63, 0.92) 0%, rgba(8, 52, 130, 0.85) 48%, rgba(11, 74, 208, 0.76) 100%); content: ""; }
284+
.contact-section { position: relative; isolation: isolate; overflow: hidden; padding: 96px 0 30px; color: var(--ink); background: #f2f4f7; }
285+
.contact-section::before { position: absolute; z-index: -2; inset: -20px; background: url('/tan-travel-portrait.jpg') center 46% / cover no-repeat; content: ""; filter: blur(9px); transform: scaleX(-1) scale(1.04); }
286+
.contact-section::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(102deg, rgba(250, 251, 253, 0.94) 0%, rgba(250, 251, 253, 0.8) 50%, rgba(250, 251, 253, 0.91) 100%); content: ""; }
287287
.contact-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(390px, 0.8fr); gap: 100px; align-items: start; }
288-
.contact-eyebrow { color: #dce8ff; }
289-
.contact-eyebrow > span { background: #86efac; }
288+
.contact-eyebrow { color: #344054; }
289+
.contact-eyebrow > span { background: var(--green); }
290290
.contact-section h2 { max-width: 760px; margin: 0; font-size: clamp(40px, 4.8vw, 68px); letter-spacing: -0.055em; line-height: 1.09; }
291-
.contact-note { max-width: 560px; margin: 18px 0 0; color: #c9d7f4; font-size: 14px; line-height: 1.7; }
292-
.contact-links { border-top: 1px solid rgba(255, 255, 255, 0.28); }
293-
.contact-links a { display: grid; grid-template-columns: 24px minmax(0, 1fr) 22px; gap: 14px; align-items: center; min-height: 78px; border-bottom: 1px solid rgba(255, 255, 255, 0.28); transition: background 180ms ease, padding 180ms ease; }
294-
.contact-links a:hover { padding-inline: 10px; background: rgba(255, 255, 255, 0.08); }
295-
.contact-links a > svg { width: 18px; height: 18px; }
291+
.contact-note { max-width: 560px; margin: 18px 0 0; color: #475467; font-size: 14px; line-height: 1.7; }
292+
.contact-links { border-top: 1px solid rgba(11, 18, 32, 0.2); }
293+
.contact-links a { display: grid; grid-template-columns: 24px minmax(0, 1fr) 22px; gap: 14px; align-items: center; min-height: 78px; border-bottom: 1px solid rgba(11, 18, 32, 0.2); transition: background 180ms ease, padding 180ms ease; }
294+
.contact-links a:hover { padding-inline: 10px; background: rgba(255, 255, 255, 0.56); }
295+
.contact-links a > svg { width: 18px; height: 18px; color: var(--blue); }
296296
.contact-links span { display: grid; gap: 5px; }
297-
.contact-links small { color: #bfd2fb; font-size: 9px; }
297+
.contact-links small { color: #667085; font-size: 9px; }
298298
.contact-links strong { font-size: 13px; overflow-wrap: anywhere; }
299-
.contact-section footer { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-top: 90px; padding-top: 22px; color: #c8d8f7; font-family: var(--font-geist-mono), monospace; font-size: 8px; border-top: 1px solid rgba(255, 255, 255, 0.32); }
300-
.back-to-top { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; color: var(--white); font-size: 9px; font-weight: 750; border: 1px solid rgba(255, 255, 255, 0.42); background: rgba(255, 255, 255, 0.06); transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease; }
299+
.contact-section footer { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-top: 90px; padding-top: 22px; color: #475467; font-family: var(--font-geist-mono), monospace; font-size: 8px; border-top: 1px solid rgba(11, 18, 32, 0.22); }
300+
.back-to-top { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; color: var(--ink); font-size: 9px; font-weight: 750; border: 1px solid rgba(11, 18, 32, 0.28); background: rgba(255, 255, 255, 0.62); transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease; }
301301
.back-to-top svg { width: 14px; height: 14px; }
302-
.back-to-top:hover, .back-to-top:focus-visible { color: var(--blue-dark); border-color: var(--white); background: var(--white); transform: translateY(-3px); }
302+
.back-to-top:hover, .back-to-top:focus-visible { color: var(--white); border-color: var(--blue); background: var(--blue); transform: translateY(-3px); }
303303

304304
.has-motion [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 620ms ease, transform 620ms ease; }
305305
.has-motion [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ export default function Home() {
176176
<div className="hero-actions"><a className="action-link action-primary" href="#research"><PiArticle aria-hidden="true" /><span>代表论文</span><PiArrowDownRightBold aria-hidden="true" /></a><a className="action-link" href="https://scholar.google.com/citations?user=6uw9ALUAAAAJ" {...externalLinkProps}><SiGooglescholar aria-hidden="true" /><span>谷歌学术</span><PiArrowUpRightBold aria-hidden="true" /></a><a className="action-link" href="https://github.com/tandede" {...externalLinkProps}><SiGithub aria-hidden="true" /><span>GitHub</span><PiArrowUpRightBold aria-hidden="true" /></a><a className="action-link" href="https://www.linkedin.com/in/zhewen-tan-0ba830401/" {...externalLinkProps}><SiLinkedin aria-hidden="true" /><span>LinkedIn</span><PiArrowUpRightBold aria-hidden="true" /></a></div>
177177
</div>
178178
<aside className="profile-card" data-reveal>
179-
<img src="/tan-travel-portrait.jpg" alt="谭哲文旅行照片" />
179+
<img src="/contact-mountain.jpg" alt="谭哲文山顶旅行照片" />
180180
<div className="profile-body"><div className="profile-name"><strong>谭哲文</strong><span>Tan Zhewen</span></div><p>大语言模型算法研究与工程</p><div className="profile-rule" /><p className="profile-role">小红书 · Dots(Pretrain)算法实习生</p><div className="profile-place"><PiMapPin aria-hidden="true" /> Beijing · Open to connect</div></div>
181181
</aside>
182182
</div>

0 commit comments

Comments
 (0)