﻿:root {
  --color-parchment: #fefffc;
  --color-paper: #ffffff;
  --color-linen: #f9faf7;
  --color-ink-black: #171717;
  --color-graphite: #2c2c2c;
  --color-charcoal: #444141;
  --color-ash: #646464;
  --color-fog: #b4b8b4;
  --color-mist: #dee2de;
  --color-twilight: #282834;
  --color-dusk: #1f1f29;
  --color-signal-blue: #bd4b5d;
  --color-cerulean: #8f3047;
  --font-display: 'Noto Serif SC', Georgia, serif;
  --font-ui: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-mono: 'DM Mono', monospace;
  --page-max-width: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-parchment); color: var(--color-graphite); font-family: var(--font-ui); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
.site-shell { overflow: hidden; }
.site-header { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); width: min(calc(100% - 40px), var(--page-max-width)); height: 56px; padding: 0 16px 0 20px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: rgba(249,250,247,.82); border: 1px solid rgba(40,40,52,.12); border-radius: 50px; backdrop-filter: blur(16px); z-index: 20; }
.wordmark { display: inline-flex; align-items: center; gap: 10px; min-width: 0; color: var(--color-graphite); }.wordmark-seal { width: 32px; height: 32px; flex: 0 0 32px; border: 1px solid var(--color-twilight); border-radius: 50%; display: grid; place-items: center; color: var(--color-twilight); font-family: var(--font-display); font-size: 11px; font-weight: 500; letter-spacing: -.08em; }.wordmark-copy { display: block; font-family: var(--font-display); font-size: 12px; font-weight: 500; letter-spacing: .04em; line-height: 1.28; white-space: nowrap; }
.desktop-nav { display: flex; gap: 28px; align-items: center; font-size: 12px; color: var(--color-charcoal); }.desktop-nav a, .header-link { transition: color .2s ease; }.desktop-nav a:hover, .header-link:hover { color: var(--color-signal-blue); }
.header-actions { display: flex; justify-content: flex-end; align-items: center; gap: 15px; }.header-link { border: 0; background: transparent; color: var(--color-charcoal); font-size: 12px; }.header-link span { color: var(--color-signal-blue); margin-left: 6px; }.menu-button { display: none; border: 0; background: transparent; padding: 6px; }.menu-button span { display: block; width: 20px; height: 1px; margin: 4px 0; background: var(--color-twilight); }
main { padding-top: 0; }.hero-section { min-height: 800px; position: relative; max-width: var(--page-max-width); margin: 0 auto; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; padding: 130px 0 70px; }.hero-art { position: absolute; right: 0; top: 0; width: 53%; height: 100%; background: url('https://commons.wikimedia.org/wiki/Special:FilePath/Paeonia_lactiflora_2025.jpg?width=1800') center / cover; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%, 0 16%); filter: saturate(.68) sepia(.12); }.hero-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(254,255,252,.65), transparent 30%), linear-gradient(0deg, rgba(21,23,26,.25), transparent 40%); }.art-grain { position: absolute; inset: 0; opacity: .18; background-image: url('data:image/svg+xml,%3Csvg viewBox=%220 0 160 160%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22 opacity=%22.5%22/%3E%3C/svg%3E'); mix-blend-mode: multiply; }.art-caption { position: absolute; z-index: 2; left: 32px; bottom: 30px; display: flex; flex-direction: column; gap: 7px; color: white; font-family: var(--font-mono); font-size: 10px; letter-spacing: .02em; }.art-caption span:last-child { font-family: var(--font-display); font-size: 15px; }
.hero-copy { position: relative; z-index: 2; padding-left: 58px; max-width: 580px; }.kicker, .section-label, .card-category { font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; color: var(--color-ash); text-transform: uppercase; }.hero-copy .kicker, .blue-note-copy .kicker, .contact-section .kicker { color: var(--color-signal-blue); }.hero-copy h1 { margin: 28px 0 20px; font-family: var(--font-display); font-size: clamp(46px, 5.5vw, 76px); line-height: 1.16; letter-spacing: .015em; font-weight: 500; color: var(--color-graphite); }.hero-manifesto { margin: 0 0 22px; color: var(--color-signal-blue); font-family: var(--font-display); font-size: clamp(27px, 3.1vw, 40px); font-weight: 400; letter-spacing: -.055em; line-height: 1.26; }.hero-manifesto span { color: var(--color-ash); }.hero-manifesto i { color: var(--color-signal-blue); font-style: normal; }.hero-lead { width: 300px; color: var(--color-charcoal); font-size: 14px; line-height: 1.8; margin: 0 0 35px; }.hero-cta { display: flex; align-items: center; gap: 20px; }.button { border: 1px solid transparent; border-radius: 8px; padding: 13px 16px; display: inline-flex; align-items: center; gap: 24px; font-size: 12px; transition: background .2s, color .2s, border-color .2s, transform .2s; }.button:hover { transform: translateY(-2px); }.button-dark { background: var(--color-dusk); color: white; }.button-dark:hover { background: var(--color-twilight); }.hero-note { font-family: var(--font-mono); font-size: 9px; line-height: 1.5; color: var(--color-ash); }.hero-side-note { position: absolute; z-index: 3; right: 22px; bottom: 60px; display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 10px; color: var(--color-ash); }.hairline { width: 36px; height: 1px; background: var(--color-fog); }
.statement-section, .works-section, .journal-section { max-width: var(--page-max-width); margin: 0 auto; }.statement-section { min-height: 620px; display: grid; grid-template-columns: 1fr 1.5fr .8fr; gap: 40px; align-items: center; border-top: 1px solid var(--color-mist); }.section-label { display: flex; flex-direction: column; gap: 9px; color: var(--color-ash); }.section-label span:first-child { color: var(--color-signal-blue); }.statement-content h2, .section-intro h2, .blue-note-copy h2, .contact-section h2 { font-family: var(--font-display); font-size: clamp(38px, 4.2vw, 58px); line-height: 1.2; letter-spacing: -.06em; font-weight: 400; margin: 0 0 27px; }.statement-content h2 em, .blue-note-copy h2 em, .contact-section h2 em { color: var(--color-signal-blue); font-style: normal; }.statement-content p { max-width: 330px; margin: 0 0 25px; color: var(--color-ash); font-size: 15px; line-height: 1.85; }.underlined-link { display: inline-flex; gap: 22px; align-items: center; padding-bottom: 7px; border-bottom: 1px solid var(--color-twilight); font-size: 12px; color: var(--color-charcoal); transition: color .2s, border-color .2s; }.underlined-link:hover { color: var(--color-signal-blue); border-color: var(--color-signal-blue); }.statement-figure { justify-self: end; width: 210px; height: 270px; position: relative; display: grid; place-items: center; color: var(--color-ash); font-family: var(--font-display); font-size: 24px; line-height: 1.6; text-align: center; }.figure-stroke { position: absolute; inset: 0; border: 1px solid var(--color-mist); border-radius: 50% 48% 52% 44%; transform: rotate(17deg); }.figure-stroke::after { content: ''; position: absolute; inset: 18px 9px -9px 23px; border: 1px solid var(--color-mist); border-radius: 46% 54% 41% 58%; transform: rotate(-25deg); }
.works-section { padding: 105px 0 110px; border-top: 1px solid var(--color-mist); }.section-intro { display: grid; grid-template-columns: 1fr 1.5fr .8fr; gap: 40px; align-items: end; margin-bottom: 45px; }.section-intro h2 { margin: 0; font-size: 48px; }.section-intro > p { color: var(--color-ash); font-size: 14px; line-height: 1.7; max-width: 220px; margin: 0; }.works-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 42px; }.work-feature { margin: 0; }.work-image { position: relative; overflow: hidden; }.work-image-one { height: 480px; background: url('./nova-image-df1e28a5.png') center / cover; filter: grayscale(.2) sepia(.18); }.work-image-one::after, .work-thumb::after, .journal-card-image::after { content: ''; position: absolute; inset: 0; background: rgba(27,39,38,.1); mix-blend-mode: multiply; }.image-index, .image-title { position: absolute; z-index: 1; color: white; font-family: var(--font-mono); font-size: 10px; }.image-index { top: 20px; left: 20px; }.image-title { right: 20px; bottom: 20px; font-family: var(--font-display); font-size: 16px; }.work-meta { display: flex; justify-content: space-between; align-items: start; padding-top: 15px; }.work-meta div { display: flex; flex-direction: column; gap: 6px; font-family: var(--font-display); font-size: 18px; }.work-meta small { font-family: var(--font-ui); color: var(--color-ash); font-size: 11px; }.work-meta a, .work-row > a { color: var(--color-signal-blue); font-size: 19px; }.work-list { border-top: 1px solid var(--color-mist); }.work-row { min-height: 118px; display: grid; grid-template-columns: 86px 1fr auto; align-items: center; gap: 17px; border-bottom: 1px solid var(--color-mist); transition: background .2s, padding .2s; }.work-row:hover { background: var(--color-linen); padding: 0 10px; }.work-thumb { width: 86px; height: 82px; position: relative; background-position: center; background-size: cover; filter: grayscale(.2) sepia(.18); }.work-image-two { background-image: url('./nova-image-32b70621.png'); }.work-image-three { background-image: url('./nova-image-3961463d.png'); }.work-image-four { background-image: url('https://commons.wikimedia.org/wiki/Special:FilePath/Paeonia_lactiflora_02.jpg?width=500'); }.work-number { font-family: var(--font-mono); font-size: 9px; color: var(--color-signal-blue); }.work-row h3 { margin: 6px 0; font-family: var(--font-display); font-size: 24px; font-weight: 400; letter-spacing: -.04em; }.work-row p { margin: 0; color: var(--color-ash); font-size: 11px; }.all-works { margin-top: 27px; }
.blue-note-section { max-width: var(--page-max-width); min-height: 540px; margin: 0 auto 110px; background: var(--color-cerulean); color: white; display: grid; grid-template-columns: 1fr 1fr; position: relative; overflow: hidden; }.blue-note-art { background: url('https://commons.wikimedia.org/wiki/Special:FilePath/Paeonia_lactiflora_flower_bouquet.jpg?width=1200') center / cover; opacity: .83; filter: grayscale(.2) sepia(.1); }.blue-note-copy { padding: 70px 58px; align-self: center; }.blue-note-copy h2 { margin-top: 20px; }.blue-note-copy h2 em { color: #d7f3ff; }.blue-note-copy > p:not(.kicker) { max-width: 290px; margin: 0 0 30px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.8; }.outlined-link { display: inline-flex; gap: 24px; align-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 4px; padding: 12px 15px; font-size: 12px; transition: background .2s, color .2s; }.outlined-link:hover { background: white; color: var(--color-cerulean); }.blue-note-index { position: absolute; top: 25px; right: 26px; font-family: var(--font-mono); font-size: 9px; line-height: 1.7; color: rgba(255,255,255,.68); text-align: right; }
.journal-section { padding: 0 0 110px; border-top: 1px solid var(--color-mist); }.journal-section .section-intro { padding-top: 80px; }.journal-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 42px; }.journal-card { background: var(--color-paper); border: 1px solid var(--color-mist); }.journal-main { display: grid; grid-template-columns: 1fr 1fr; }.journal-card-image { min-height: 300px; position: relative; background: url('https://commons.wikimedia.org/wiki/Special:FilePath/Paeonia_lactiflora_01.jpg?width=1200') center / cover; filter: grayscale(.35) sepia(.12); }.journal-card-content { padding: 35px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }.card-category { color: var(--color-signal-blue); }.journal-card h3, .journal-side h3 { font-family: var(--font-display); font-size: 28px; line-height: 1.4; letter-spacing: -.04em; font-weight: 400; margin: 17px 0 10px; }.journal-card p, .journal-side p { color: var(--color-ash); font-size: 13px; line-height: 1.75; margin: 0 0 24px; }.journal-side { padding: 35px 0 25px 35px; border-top: 1px solid var(--color-mist); border-bottom: 1px solid var(--color-mist); align-self: start; }.journal-side h3 { font-size: 27px; }
.contact-section { max-width: var(--page-max-width); margin: 0 auto; padding: 92px 0; border-top: 1px solid var(--color-mist); }.contact-section h2 { margin: 21px 0 52px; }.contact-bottom { display: flex; align-items: end; justify-content: space-between; }.contact-bottom p { margin: 0; color: var(--color-ash); font-size: 13px; line-height: 1.75; }.site-footer { max-width: var(--page-max-width); margin: 0 auto; padding: 25px 0 32px; border-top: 1px solid var(--color-mist); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; color: var(--color-ash); font-family: var(--font-mono); font-size: 9px; }.site-footer > div { display: flex; gap: 15px; }.site-footer > div:nth-child(2) { justify-content: center; }.site-footer > div:last-child { justify-content: flex-end; }
@media (max-width: 900px) { .site-header { width: calc(100% - 28px); top: 14px; }.desktop-nav { gap: 14px; }.hero-section, .statement-section, .works-section, .blue-note-section, .journal-section, .contact-section, .site-footer { width: calc(100% - 40px); }.hero-section { min-height: 730px; padding-top: 110px; }.hero-copy { padding-left: 20px; }.statement-section, .section-intro { grid-template-columns: .7fr 1.3fr; }.statement-figure { display: none; }.section-intro > p { grid-column: 2; }.blue-note-copy { padding: 50px 35px; }.site-footer { grid-template-columns: 1fr 1fr; gap: 20px; }.site-footer > div:nth-child(2) { justify-content: flex-start; }.site-footer > div:last-child { justify-content: flex-start; grid-column: span 2; } }
@media (max-width: 650px) { .site-header { grid-template-columns: 1fr auto; padding-left: 14px; }.desktop-nav, .header-link { display: none; }.menu-button { display: block; }.wordmark { gap: 8px; }.wordmark-seal { width: 30px; height: 30px; flex-basis: 30px; font-size: 10px; }.wordmark-copy { font-size: 11px; letter-spacing: .02em; }.hero-section, .statement-section, .works-section, .blue-note-section, .journal-section, .contact-section, .site-footer { width: calc(100% - 32px); }.hero-section { min-height: 770px; display: flex; flex-direction: column; align-items: stretch; padding: 120px 0 30px; }.hero-art { position: relative; order: 2; width: 100%; height: 310px; min-height: 310px; clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%, 0 12%); }.hero-copy { padding: 0 13px 32px; }.hero-copy h1 { font-size: 44px; margin: 22px 0 16px; letter-spacing: .005em; }.hero-manifesto { margin-bottom: 19px; font-size: 29px; }.hero-lead { width: 100%; max-width: 300px; }.hero-side-note { right: 7px; bottom: 18px; }.statement-section { min-height: 540px; display: block; padding: 75px 13px; }.statement-content { margin-top: 60px; }.statement-content h2, .section-intro h2, .blue-note-copy h2, .contact-section h2 { font-size: 41px; }.works-section { padding: 75px 0; }.section-intro { display: block; margin-bottom: 35px; }.section-intro h2 { margin: 18px 0; }.works-layout { display: block; }.work-image-one { height: 380px; }.work-list { margin-top: 42px; }.blue-note-section { min-height: 650px; display: flex; flex-direction: column; margin-bottom: 75px; }.blue-note-art { min-height: 260px; }.blue-note-copy { padding: 44px 28px 50px; }.journal-section { padding-bottom: 75px; }.journal-section .section-intro { padding-top: 65px; }.journal-grid { display: block; }.journal-main { display: block; }.journal-card-image { min-height: 240px; }.journal-card-content { padding: 28px; }.journal-side { padding: 32px 0; margin-top: 35px; }.contact-section { padding: 70px 0; }.contact-bottom { display: block; }.contact-bottom p { margin-bottom: 27px; }.site-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 17px; padding: 24px 0 30px; }.site-footer > div { flex-wrap: wrap; justify-content: flex-start !important; } }
.statement-content, .works-section, .blue-note-section, .journal-section, .contact-section { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.statement-content.is-visible, .works-section.is-visible, .blue-note-section.is-visible, .journal-section.is-visible, .contact-section.is-visible { opacity: 1; transform: translateY(0); }
.modal-open { overflow: hidden; }.contact-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 24px; visibility: hidden; opacity: 0; transition: opacity .25s ease, visibility .25s ease; }.contact-modal.is-open { visibility: visible; opacity: 1; }.contact-modal-backdrop { position: absolute; inset: 0; background: rgba(31,31,41,.48); backdrop-filter: blur(8px); }.contact-panel { position: relative; z-index: 1; width: min(100%, 860px); padding: 42px 46px 46px; background: var(--color-parchment); border: 1px solid var(--color-mist); box-shadow: 0 18px 50px rgba(31,31,41,.18); }.contact-close { position: absolute; top: 17px; right: 20px; border: 0; background: transparent; color: var(--color-ash); font-size: 26px; line-height: 1; }.contact-close:hover { color: var(--color-signal-blue); }.contact-panel h2 { margin: 18px 0 32px; font-family: var(--font-display); font-size: clamp(34px, 4vw, 52px); font-weight: 400; letter-spacing: -.06em; }.contact-panel-grid { display: grid; grid-template-columns: 1fr 270px; gap: 42px; align-items: start; }.contact-options { display: grid; gap: 10px; }.contact-option { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 17px 0; border-top: 1px solid var(--color-mist); color: var(--color-graphite); }.contact-option:last-child { border-bottom: 1px solid var(--color-mist); }.contact-option-label, .contact-option small, .contact-qr span { font-family: var(--font-mono); font-size: 10px; color: var(--color-ash); }.contact-option strong { font-family: var(--font-display); font-size: 23px; font-weight: 400; letter-spacing: .02em; }.contact-option:hover strong { color: var(--color-signal-blue); }.contact-wechat { position: relative; }.copy-wechat { margin-top: 5px; padding: 6px 10px; border: 1px solid var(--color-mist); border-radius: 6px; background: transparent; color: var(--color-charcoal); font-size: 11px; }.copy-wechat:hover { border-color: var(--color-signal-blue); color: var(--color-signal-blue); }.copy-status { min-height: 14px; color: var(--color-signal-blue) !important; }.contact-qr { display: flex; flex-direction: column; align-items: center; gap: 12px; padding-top: 3px; text-align: center; }.contact-qr img { width: 250px; height: 250px; object-fit: contain; background: white; border: 1px solid var(--color-mist); padding: 10px; }
@media (max-width: 650px) {
  .site-header.menu-open { border-radius: 24px; height: auto; min-height: 56px; grid-template-columns: 1fr auto; align-items: start; padding-bottom: 16px; }
  .site-header.menu-open .desktop-nav { display: flex; grid-column: 1 / -1; flex-direction: column; align-items: flex-start; gap: 17px; padding: 22px 5px 3px; width: 100%; border-top: 1px solid var(--color-mist); margin-top: 14px; }
  .site-header.menu-open .desktop-nav a { font-size: 14px; }
  .contact-modal { padding: 14px; }.contact-panel { max-height: calc(100svh - 28px); overflow-y: auto; padding: 34px 22px 28px; }.contact-panel h2 { margin-bottom: 24px; font-size: 38px; }.contact-panel-grid { display: flex; flex-direction: column-reverse; gap: 24px; }.contact-qr { width: 100%; }.contact-qr img { width: 220px; height: 220px; }.contact-options { width: 100%; }.contact-option strong { font-size: 21px; }.contact-close { top: 14px; right: 16px; }
}



.artist-profile { max-width: var(--page-max-width); margin: 0 auto; padding: 105px 0 110px; border-top: 1px solid var(--color-mist); }
.profile-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 45px; }.profile-index { margin: 0; color: var(--color-ash); font-family: var(--font-mono); font-size: 10px; }
.profile-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: center; }.profile-portrait { min-height: 455px; background: url('./nova-image-f434af20.png') center / cover; filter: saturate(.72) sepia(.08); position: relative; }.profile-portrait::after { content: ''; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid var(--color-mist); z-index: -1; }
.profile-intro { max-width: 520px; }.profile-intro h2 { font-family: var(--font-display); font-size: clamp(40px, 4.5vw, 62px); line-height: 1.2; letter-spacing: -.06em; font-weight: 400; margin: 20px 0 28px; }.profile-intro h2 em { color: var(--color-signal-blue); font-style: normal; }.profile-intro > p:not(.kicker) { max-width: 430px; color: var(--color-ash); font-size: 15px; line-height: 1.85; margin: 0 0 17px; }
.profile-details { display: grid; grid-template-columns: 1.1fr .9fr 1fr; gap: 42px; margin-top: 72px; padding-top: 24px; border-top: 1px solid var(--color-mist); }.profile-detail { color: var(--color-ash); font-size: 13px; line-height: 1.8; }.profile-detail p { margin: 0 0 14px; }.profile-detail strong { color: var(--color-graphite); font-weight: 500; }.detail-label { display: block; margin-bottom: 16px; color: var(--color-signal-blue); font-family: var(--font-mono); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }.detail-label-spaced { margin-top: 25px; }
@media (max-width: 900px) { .artist-profile { width: calc(100% - 40px); }.profile-grid { gap: 38px; }.profile-details { gap: 24px; } }
@media (max-width: 650px) { .artist-profile { width: calc(100% - 32px); padding: 75px 0; }.profile-heading { margin-bottom: 35px; }.profile-grid { display: block; }.profile-portrait { min-height: 350px; margin: 0 18px 52px 0; }.profile-intro h2 { font-size: 41px; }.profile-details { display: block; margin-top: 55px; }.profile-detail { padding: 22px 0; border-bottom: 1px solid var(--color-mist); }.profile-detail:last-child { border-bottom: 0; } }


