:root {
  --paper: #f7f5ef;
  --paper-dark: #eeebe3;
  --paper-mid: #f0ede6;
  --ink: #282723;
  --ink-soft: #525049;
  --muted: #8c877e;
  --wine: #873f4b;
  --line: #d8d3c9;
  --white: #fffdf8;
  --serif: Georgia, 'Noto Serif SC', 'Songti SC', 'SimSun', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', sans-serif;
  --side: clamp(24px, 6vw, 112px);
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); -webkit-font-smoothing: antialiased; }
body, button, input { font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button { color: inherit; cursor: pointer; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--wine); outline-offset: 5px; }
img { display: block; max-width: 100%; }
::selection { background: #dcc6c6; color: var(--ink); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 400; }
p { line-height: 1.85; }
#main-content:focus { outline: none; }
.skip-link { position: fixed; z-index: 999; top: -100px; left: 20px; background: var(--ink); color: white; padding: 14px 20px; }
.skip-link:focus { top: 12px; }
.loading-note { min-height: 50vh; padding: 12vh var(--side); }

/* Navigation / frame */
.site-header { height: 92px; background: var(--paper); border-bottom: 1px solid var(--line); position: relative; z-index: 30; }
.nav-frame { height: 100%; padding: 0 var(--side); display: flex; align-items: center; justify-content: space-between; gap: 35px; max-width: 1800px; margin: auto; }
.site-logo { display: inline-flex; align-items: center; gap: 13px; white-space: nowrap; }
.logo-mark { font: bold 31px/1 var(--serif); letter-spacing: -.08em; }
.logo-dot { color: var(--wine); }
.logo-caption { border-left: 1px solid var(--line); padding-left: 14px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.nav-actions, .primary-nav { display: flex; align-items: center; }
.nav-actions { gap: clamp(22px, 3vw, 52px); }
.primary-nav { gap: clamp(18px, 2.35vw, 39px); }
.nav-link { position: relative; font-size: 12px; letter-spacing: .05em; color: #5a564e; transition: color .2s; }
.nav-link:hover, .nav-link.is-active { color: var(--wine); }
.nav-link.is-active::after { content: ''; position: absolute; height: 2px; background: var(--wine); left: 0; right: 0; bottom: -35px; }
.lang-button { border: 0; background: none; font-size: 11px; letter-spacing: .07em; display: flex; gap: 5px; align-items: center; padding: 10px 0; color: #928b82; white-space: nowrap; }
.lang-current { color: var(--wine); font-weight: 700; }
.lang-divider { color: #bbb5aa; }
.menu-button { display: none; border: 0; background: none; width: 36px; height: 35px; padding: 7px 3px; }
.menu-button span { display: block; height: 1px; background: var(--ink); margin: 7px 0; width: 100%; transition: transform .2s; }

/* Shared typographic system */
.eyebrow, .small-overline, .section-number, .section-aside, .hero-edition, .art-caption, .image-index,
.hero-scroll, .image-side-label, .teaser-caption > span, .teaser-graphic > span,
.tracklist-header, .now-card-n, .footer-bottom, .page-hero-top, .section-footnote,
.lab-board-top, .lab-board-bottom, .research-topline, .music-hero-photo-caption, .music-hero-footer {
  font: 600 10px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase;
}
.eyebrow { color: var(--wine); margin: 0; }
.small-overline { color: var(--wine); display: inline-block; }
.display-title { font-family: var(--serif); font-size: clamp(50px, 5.7vw, 96px); letter-spacing: -.074em; line-height: 1.24; font-weight: 400; }
.heading-period { color: var(--wine); }
.demo-tag { display: inline-block; vertical-align: middle; font: 600 9px/1.4 var(--sans); color: var(--wine); border: 1px solid #c4a6a3; padding: 7px 10px; letter-spacing: .085em; text-transform: uppercase; }
.text-link { color: var(--wine); font-size: 12px; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 8px; display: inline-flex; align-items: center; gap: 24px; max-width: fit-content; transition: gap .18s, color .18s; }
.text-link:hover { gap: 33px; color: #5f2631; }
.text-link span:last-child { font-size: 17px; font-weight: 400; line-height: 0; }
.editorial-section { margin: 0 var(--side); padding: 100px 0; border-top: 1px solid var(--line); }
.section-heading { display: flex; flex-wrap: wrap; gap: 0 18px; align-items: baseline; }
.section-heading .section-number { color: var(--wine); align-self: start; padding-top: 12px; white-space: nowrap; }
.section-heading h2 { font: 400 clamp(32px, 3.4vw, 55px)/1.25 var(--serif); letter-spacing: -.055em; margin: 0; }
.section-heading p { flex-basis: 100%; margin: 14px 0 0 43px; color: var(--muted); font-size: 12px; max-width: 550px; line-height: 1.7; }
.split-top { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 44px; }
.split-top .text-link { white-space: nowrap; margin-bottom: 6px; }
.section-aside { color: var(--muted); white-space: nowrap; }
.page-hero { padding: 112px var(--side) 108px; max-width: 1600px; margin: auto; }
.page-hero-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 39px; }
.page-hero .display-title { max-width: 1100px; margin: 0 0 33px; }
.page-lead { max-width: 620px; color: var(--ink-soft); font-size: clamp(14px, 1.28vw, 17px); line-height: 2; margin: 0; }
.empty-state { border: 1px solid var(--line); padding: 44px; display: flex; align-items: center; gap: 34px; color: var(--muted); margin-top: 35px; }
.empty-state p { margin: 0; }
.empty-star { font-size: 34px; color: var(--wine); }
.unavailable-page { min-height: 62vh; }
.unavailable-page .text-link { margin-top: 36px; }

/* Home hero */
.home-hero { display: grid; grid-template-columns: 52% 48%; min-height: min(735px, calc(100svh - 92px)); max-width: 1800px; margin: auto; }
.home-hero-copy { padding: 85px clamp(40px, 5.7vw, 106px) 48px var(--side); display: flex; flex-direction: column; }
.hero-overline { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.hero-edition { color: #aaa399; font-size: 9px; white-space: nowrap; }
.home-title { margin: auto 0 20px; max-width: 760px; font-size: clamp(43px, 4.45vw, 75px); line-height: 1.3; }
.hero-identity { font: 600 clamp(11px, 1vw, 13px)/1.8 var(--sans); color: var(--ink-soft); letter-spacing: .04em; margin: 0 0 20px; max-width: 500px; }
.hero-tagline { color: var(--ink); font: 400 clamp(23px, 2.2vw, 33px)/1.5 var(--serif); letter-spacing: -.055em; margin: 0 0 27px; max-width: 570px; }
.home-hero .hero-tagline { color: var(--wine); margin-bottom: 60px; }
.hero-lyric { max-width: 650px; margin: 0 0 45px; }
.hero-lyric-line { font: 400 clamp(20px, 1.8vw, 28px)/1.58 var(--serif); letter-spacing: -.045em; color: var(--wine); margin: 0; overflow-wrap: anywhere; }
.hero-lyric-line:first-child { font-style: italic; letter-spacing: -.02em; margin-bottom: 4px; }
.hero-lyric-source { font: 500 11px/1.7 var(--sans); color: var(--muted); margin: 17px 0 0; letter-spacing: .035em; }
.hero-description { margin: 0 0 34px; max-width: 510px; }
.home-lead { color: var(--ink-soft); font-size: clamp(13px, 1.06vw, 16px); line-height: 1.92; margin: 0 0 12px; }
.home-lead:last-child { margin-bottom: 0; }
.hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.hero-scroll { color: #b0a9a0; white-space: nowrap; font-size: 9px; }
.home-hero-visual { position: relative; min-height: 610px; background: #dedbd4; overflow: hidden; }
.home-hero-visual::after, .music-hero-visual::after { content: ''; pointer-events: none; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 80%, rgba(24,21,20,.29)); }
.home-hero-visual img, .music-hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.image-side-label { position: absolute; top: 34px; right: 26px; color: white; writing-mode: vertical-rl; z-index: 1; font-size: 9px; }
.image-index { color: #fff; position: absolute; bottom: 32px; left: 36px; right: 36px; z-index: 1; display: flex; justify-content: space-between; font-size: 9px; }
.running-line, .music-marquee { display: flex; justify-content: center; align-items: center; gap: clamp(15px, 2.8vw, 56px); padding: 20px var(--side); border-bottom: 1px solid var(--line); color: #82786e; font-size: 9px; font-weight: 700; letter-spacing: .19em; white-space: nowrap; overflow: hidden; }
.running-line span:nth-child(even), .music-marquee span:nth-child(even) { color: var(--wine); font-size: 14px; }

/* Home feature layouts */
.home-two-col { display: grid; grid-template-columns: 1.1fr .9fr; gap: 9%; padding: 55px 4% 0 4%; }
.intro-serif { font: 400 clamp(25px, 2.65vw, 41px)/1.7 var(--serif); letter-spacing: -.07em; }
.home-two-col > div:last-child { padding: 7px 0; }
.body-copy { font-size: 14px; color: var(--ink-soft); line-height: 2.2; margin-bottom: 27px; }
.focus-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 410px; }
.focus-art { background: #dedbd2; overflow: hidden; position: relative; display: grid; place-items: center; }
.focus-art::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 53px, rgba(70,63,60,.11) 54px), repeating-linear-gradient(90deg, transparent 0 53px, rgba(70,63,60,.11) 54px); }
.orbit { border: 1px solid #7c7973; border-radius: 50%; position: absolute; transform: rotate(-32deg) scaleY(.55); }
.orbit-1 { width: 65%; aspect-ratio: 1; }
.orbit-2 { width: 95%; aspect-ratio: 1; transform: rotate(30deg) scaleY(.5); }
.orbit-3 { width: 40%; aspect-ratio: 1; transform: rotate(65deg) scaleY(.7); }
.focus-cross { font: 300 120px/1 Georgia, serif; color: #a59b8f; opacity: .8; }
.focus-figure { position: absolute; bottom: 27px; left: 30px; font-size: 10px; letter-spacing: .2em; }
.focus-copy { border: 1px solid var(--line); border-left: 0; padding: clamp(35px, 5vw, 72px); display: flex; flex-direction: column; align-items: start; justify-content: center; }
.focus-copy .small-overline { margin-top: 40px; }
.focus-copy h3 { font: 400 clamp(25px, 2.8vw, 39px)/1.5 var(--serif); letter-spacing: -.06em; margin: 14px 0 18px; }
.focus-copy p:not(.small-overline) { color: var(--ink-soft); font-size: 13px; line-height: 2; margin-bottom: 28px; }
.teaser-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 27px; }
.teaser-graphic { position: relative; height: clamp(250px, 30vw, 400px); overflow: hidden; }
.teaser-graphic > span { position: absolute; left: 25px; top: 22px; z-index: 2; }
.teaser-graphic-one { background: #d5d2c9; }
.teaser-graphic-two { background: #d7c3b5; }
.graphic-lines { position: absolute; width: 77%; height: 170%; top: -40%; left: 12%; border: 1px solid #8b817c; border-radius: 50%; transform: rotate(41deg); box-shadow: 30px 0 0 -29px #8b817c, 64px 0 0 -63px #8b817c, 103px 0 0 -102px #8b817c; }
.graphic-lines::after { content: ''; width: 80%; height: 70%; position: absolute; border: 1px solid #8b817c; border-radius: 50%; left: 10%; top: 15%; }
.graphic-grid { position: absolute; width: 67%; height: 108%; right: 3%; bottom: -37%; transform: rotate(-25deg); background: repeating-linear-gradient(0deg, transparent 0 30px, rgba(96,56,57,.45) 31px), repeating-linear-gradient(90deg, transparent 0 30px, rgba(96,56,57,.45) 31px); border: 1px solid #8d6b6b; }
.teaser-caption { padding: 23px 0 5px; }
.teaser-caption > span { color: var(--wine); font-size: 9px; }
.teaser-caption h3 { font: 400 25px/1.3 var(--serif); letter-spacing: -.04em; margin: 13px 0 8px; }
.teaser-caption p { color: var(--muted); font-size: 12px; margin-bottom: 0; }
.teaser-feature-copy { padding: clamp(30px, 5vw, 80px); background: var(--paper-dark); display: flex; flex-direction: column; align-items: start; justify-content: center; }
.teaser-feature-copy h3 { font: 400 clamp(29px, 3.1vw, 46px)/1.5 var(--serif); letter-spacing: -.06em; margin: 22px 0; }
.teaser-feature-copy p { font-size: 13px; color: var(--ink-soft); line-height: 2.1; max-width: 450px; margin-bottom: 25px; }
.now-band { background: var(--wine); color: #fff6ed; padding: 68px var(--side); display: grid; grid-template-columns: 1.25fr 1.05fr auto; align-items: center; gap: 60px; }
.now-band .small-overline { color: #efc7c5; }
.now-band h2 { font: 400 clamp(31px, 3vw, 49px)/1.35 var(--serif); letter-spacing: -.055em; margin: 12px 0 0; }
.now-band > p { font-size: 13px; max-width: 360px; color: #f1dada; margin: 0; }
.now-band .text-link { color: #fff6ed; white-space: nowrap; }
.music-preview-grid { display: grid; grid-template-columns: 46% 54%; min-height: 420px; }
.music-preview-photo { background: #d1ccc5; min-height: 420px; }
.music-preview-photo img { width: 100%; height: 100%; object-fit: cover; }
.music-preview-copy { background: var(--paper-dark); padding: clamp(35px, 6vw, 92px); display: flex; flex-direction: column; align-items: start; justify-content: center; }
.music-preview-copy h3 { font: 400 clamp(31px, 3vw, 48px)/1.55 var(--serif); letter-spacing: -.06em; margin: 20px 0; }
.music-preview-copy p { color: var(--ink-soft); font-size: 13px; line-height: 2.1; margin-bottom: 30px; }
.music-preview-copy .home-featured-artists { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 32px; }
.home-featured-artists span { display: inline-block; color: var(--wine); border: 1px solid #cbb9b1; padding: 7px 11px; font-size: 10px; line-height: 1.5; }
.home-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.mini-editorial { padding-right: 4%; }
.mini-editorial h2 { font: 400 clamp(39px, 3.6vw, 58px)/1.3 var(--serif); letter-spacing: -.06em; margin: 17px 0 28px; }
.mini-editorial h2 em { color: var(--wine); font-weight: 400; font-size: .7em; }
.gallery-preview-art { background: #d9d6d0; height: clamp(230px, 26vw, 340px); overflow: hidden; }
.gallery-preview-art img { width: 100%; height: 100%; object-fit: cover; }
.mini-editorial > p { font-size: 13px; color: var(--ink-soft); margin: 24px 0; }
.journal-rule { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; display: flex; justify-content: space-between; font-size: 9px; letter-spacing: .15em; color: var(--muted); }
.mini-editorial h3 { font: 400 clamp(26px, 2.3vw, 36px)/1.6 var(--serif); letter-spacing: -.055em; margin: 38px 0 12px; }
.double-cta { display: flex; flex-wrap: wrap; gap: 35px; }

/* About */
.about-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; }
.portrait-placeholder { background: #dfd9d0; height: clamp(440px, 45vw, 620px); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 88px; }
.portrait-placeholder > span { font: 400 clamp(100px, 12vw, 180px)/1 var(--serif); letter-spacing: -.11em; color: #9b9085; }
.portrait-placeholder small { font-size: 10px; letter-spacing: .18em; color: #837a73; }
.art-caption { color: var(--muted); padding-top: 17px; font-size: 9px; }
.about-story { padding: 20px 0; }
.about-story h2, .life-copy h2 { font: 400 clamp(31px, 3.15vw, 51px)/1.6 var(--serif); letter-spacing: -.06em; margin: 18px 0 25px; }
.about-story > p, .life-copy > p { font-size: 14px; line-height: 2.2; color: var(--ink-soft); max-width: 620px; }
.fact-rows { margin-top: 44px; border-top: 1px solid var(--line); }
.fact-rows > div { display: grid; grid-template-columns: 30px 135px 1fr; padding: 19px 0; border-bottom: 1px solid var(--line); gap: 16px; align-items: baseline; }
.fact-rows span { font-size: 10px; color: var(--wine); }
.fact-rows strong { font-size: 13px; font-weight: 600; }
.fact-rows p { font-size: 12px; color: var(--muted); margin: 0; }
.keyword-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 37px; }
.keyword-row span { border: 1px solid var(--line); padding: 18px 21px; font: 600 11px/1 var(--sans); letter-spacing: .12em; }
.about-followup { font-size: 13px; color: var(--ink-soft); margin: 27px 0 0; }

/* Research */
.research-topline { margin: 0 var(--side); padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; color: var(--muted); }
.research-modules { margin: 0 var(--side); }
.research-module { margin: 0; display: grid; grid-template-columns: 14% 1.35fr 1fr; gap: 4%; align-items: center; min-height: 390px; padding: 65px 0; border-top: 0; border-bottom: 1px solid var(--line); }
.research-num { color: var(--wine); font: 400 32px/1 var(--serif); display: flex; align-items: center; gap: 16px; align-self: start; }
.research-line { width: 1px; height: 85px; background: var(--line); transform: rotate(24deg); display: inline-block; margin: 10px 0; }
.research-copy h2 { font: 400 clamp(30px, 3.1vw, 47px)/1.4 var(--serif); letter-spacing: -.06em; margin: 17px 0 20px; }
.research-copy > p { color: var(--ink-soft); font-size: 13px; line-height: 2.2; max-width: 480px; }
.tag-row { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 26px; }
.tag-row span { border: 1px solid var(--line); color: #756d65; font-size: 10px; padding: 10px 14px; }
.research-art { background: #e7e3db; min-height: 260px; aspect-ratio: 1.4; position: relative; overflow: hidden; display: grid; place-items: center; }
.research-art-2 { background: #ddd4cb; }
.research-art-3 { background: #dfddd4; }
.wire-orbit { width: 55%; aspect-ratio: 1; border: 1px solid #9f978d; border-radius: 50%; position: relative; }
.wire-orbit i { position: absolute; border: 1px solid #9f978d; border-radius: 50%; inset: -24%; transform: rotate(40deg) scaleX(.49); }
.wire-orbit i:nth-child(2) { transform: rotate(-40deg) scaleX(.49); }
.wire-orbit i:nth-child(3) { inset: 19%; transform: none; }
.wire-stairs { display: flex; align-items: end; justify-content: center; gap: 10px; width: 70%; height: 65%; border-bottom: 1px solid #8a7b76; }
.wire-stairs i { display: block; border: 1px solid #998781; width: 18%; height: 25%; }
.wire-stairs i:nth-child(2) { height: 47%; }.wire-stairs i:nth-child(3) { height: 67%; }.wire-stairs i:nth-child(4) { height: 82%; }.wire-stairs i:nth-child(5) { height: 100%; }
.wire-matrix { display: grid; grid-template-columns: 1fr 1fr; gap: 4vw; color: #9b9084; font: 400 clamp(44px, 5vw, 90px)/1 var(--serif); }
.skill-level-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.skill-level-card { padding: clamp(30px, 3vw, 50px); border: 1px solid var(--line); background: #f1eee7; }
.skill-level-card:last-child { background: var(--paper); }
.skill-level-card h3 { font: 400 clamp(26px, 2.5vw, 38px)/1.4 var(--serif); letter-spacing: -.055em; margin: 16px 0; }
.skill-level-card p { font-size: 12px; color: var(--ink-soft); min-height: 48px; }
.skill-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.skill-tags span { padding: 9px 12px; border: 1px solid #cdc5ba; font-size: 11px; line-height: 1.5; }
.closing-callout { background: var(--paper-dark); text-align: center; padding: 92px var(--side); }
.closing-callout h2 { font: 400 clamp(34px, 3vw, 48px)/1.5 var(--serif); letter-spacing: -.06em; margin: 17px 0 14px; }
.closing-callout p { color: var(--muted); font-size: 13px; margin-bottom: 29px; }

/* Projects / Lab / Journal */
.project-case { background: var(--paper-dark); border-top: 2px solid var(--ink); }
.project-case-header { padding: clamp(32px, 4vw, 60px); display: grid; grid-template-columns: 1.35fr .65fr; gap: 9%; align-items: end; }
.project-case-header h2 { font: 400 clamp(30px, 3.4vw, 52px)/1.3 var(--serif); letter-spacing: -.055em; margin: 18px 0 19px; }
.project-case-header p { font-size: 13px; color: var(--ink-soft); max-width: 650px; margin-bottom: 0; }
.project-prize { border-left: 1px solid #cfc6bc; padding-left: 25px; }
.project-prize span { display: block; color: var(--wine); font: 400 clamp(19px, 2vw, 29px)/1.55 var(--serif); }
.project-prize small { display: block; font-size: 11px; color: var(--ink-soft); line-height: 1.9; margin-top: 12px; }
.project-case-meta { display: grid; grid-template-columns: 1fr 1.6fr; gap: 35px; padding: 24px clamp(32px,4vw,60px); border-top: 1px solid #d3cbc2; border-bottom: 1px solid #d3cbc2; }
.project-case-meta strong { font-size: 13px; line-height: 1.9; display: block; margin-top: 9px; font-weight: 500; }
.project-flow { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; padding: 40px clamp(32px, 4vw, 60px); }
.flow-stage { min-height: 200px; padding: 22px; background: #d8d2c9; display: flex; flex-direction: column; justify-content: space-between; }
.flow-stage:nth-child(2) { background: #d0c6bc; }.flow-stage:nth-child(4) { background: #dad7cf; }
.flow-stage-highlight { background: var(--wine); color: #fff7f0; }
.flow-stage > span, .flow-stage > small { font-size: 10px; letter-spacing: .12em; }
.flow-stage strong { font: 400 clamp(23px,2.35vw,34px)/1.3 var(--serif); }
.project-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; padding: 15px clamp(32px,4vw,60px) 38px; }
.project-detail-grid h3 { font: 400 26px/1.4 var(--serif); margin: 17px 0; }
.project-detail-grid p { font-size: 13px; color: var(--ink-soft); line-height: 2.15; }
.project-credit-note { padding: 18px clamp(32px,4vw,60px) 36px; font-size: 11px; color: #797167; margin: 0; border-top: 1px solid #d3cbc2; }
.project-reserved { display: grid; grid-template-columns: 1.1fr 1fr; background: var(--paper-dark); gap: 9%; align-items: center; }
.project-reserved-art { min-height: 420px; background: #d8d3ca; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; font-size: 10px; letter-spacing: .14em; }
.big-asterisk { align-self: center; color: #a79a90; font-size: 200px; line-height: 1.1; }
.project-reserved > div:last-child { padding: 45px 8% 45px 0; }
.project-reserved h3 { font: 400 clamp(29px, 3vw, 45px)/1.5 var(--serif); letter-spacing: -.055em; margin: 15px 0 20px; }
.project-reserved p { color: var(--ink-soft); font-size: 13px; line-height: 2; margin-bottom: 26px; }
.lab-entry { display: grid; grid-template-columns: 1fr .6fr auto; gap: 9%; align-items: center; }
.lab-entry h2 { font: 400 clamp(62px, 8vw, 120px)/1.2 var(--serif); letter-spacing: -.08em; margin: 12px 0; }
.lab-entry p { max-width: 420px; color: var(--ink-soft); font-size: 13px; }
.lab-entry-graphic { min-height: 220px; background: linear-gradient(135deg,#d7c4b8,#eae1d6); display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding: 45px; transform: rotate(-4deg); }
.lab-grid-dot { width: 25px; height: 25px; border: 1px solid #9b7b75; border-radius: 50%; }
.lab-board { background: #e1dcd3; padding: 27px 32px 24px; border: 1px solid #cfc8be; }
.lab-board-top, .lab-board-bottom { display: flex; justify-content: space-between; gap: 20px; color: #7f746e; font-size: 9px; }
.lab-bars { display: flex; align-items: end; justify-content: space-around; gap: 1.5%; height: 340px; border-left: 1px solid #a79f93; border-bottom: 1px solid #a79f93; margin: 48px 4% 21px; background: repeating-linear-gradient(to top,transparent 0 65px,rgba(99,85,78,.12) 66px); }
.lab-bars i { display: block; width: 5.5%; height: var(--h); background: linear-gradient(to top,#88515b,#b98e8c); opacity: .83; }
.lab-footnotes { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; margin-top: 43px; }
.lab-footnotes strong { font: 400 35px/1 var(--serif); color: var(--wine); }
.lab-footnotes h3 { margin: 15px 0 8px; font: 400 24px/1.5 var(--serif); }
.lab-footnotes p { font-size: 12px; color: var(--muted); }
.journal-filter-display { display: flex; flex-wrap: wrap; gap: 15px 32px; padding-bottom: 21px; border-bottom: 1px solid var(--line); color: #8b827a; font-size: 11px; letter-spacing: .05em; }
.journal-filter-display span:first-child { color: var(--wine); }
.journal-empty { display: grid; grid-template-columns: .7fr 1fr; align-items: center; gap: 10%; padding: 70px 0; }
.journal-large-number { font: 400 clamp(150px, 19vw, 310px)/1 var(--serif); color: #d4cdc3; letter-spacing: -.13em; }
.journal-empty h2 { font: 400 clamp(32px, 3.3vw, 49px)/1.5 var(--serif); letter-spacing: -.06em; margin: 18px 0; }
.journal-empty p { color: var(--ink-soft); max-width: 490px; font-size: 13px; }

/* Music */
.music-artist-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.music-artist-card { padding: clamp(22px,3vw,35px); border: 1px solid var(--line); min-height: 268px; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
.music-artist-card.artist-priority { background: #e7ded3; }
.music-artist-index { font-size: 9px; color: var(--wine); font-weight: 700; letter-spacing: .16em; }
.artist-card-symbol { font: 400 60px/1 var(--serif); color: #b49e98; align-self: end; }
.music-artist-card h3 { font: 400 clamp(18px, 1.8vw, 28px)/1.35 var(--serif); letter-spacing: -.04em; overflow-wrap: anywhere; margin: auto 0 8px; }
.music-artist-card p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.8; }
.record-feature { display: grid; grid-template-columns: 48% 52%; min-height: 440px; }
.record-feature-art { position: relative; min-height: 430px; overflow: hidden; background: #363a3b; display: grid; place-items: center; }
.record-disc { width: 74%; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: repeating-radial-gradient(circle,#272829 0 2px,#474647 3px 4px,#29292b 5px 7px); border: 4px solid #1e2022; box-shadow: 22px 30px 40px rgba(0,0,0,.3); }
.record-disc::before { content: ''; display: block; width: 25%; aspect-ratio: 1; background: #b88677; border-radius: 50%; border: 10px solid #d2a994; grid-area: 1/1; }
.record-disc span { grid-area: 1/1; z-index: 1; color: #392a2a; font-size: 12px; font-weight: 700; }
.record-art-caption { position: absolute; bottom: 22px; left: 25px; color: #aaa6a0; font-size: 9px; letter-spacing: .14em; }
.record-feature-copy { padding: clamp(35px,5vw,85px); background: var(--paper-dark); display: flex; flex-direction: column; justify-content: center; align-items: start; }
.record-feature-copy h2 { font: 400 clamp(30px,3.5vw,54px)/1.35 var(--serif); letter-spacing: -.06em; margin: 22px 0; }
.record-feature-copy p { font-size: 14px; color: var(--ink-soft); line-height: 2.2; margin-bottom: 33px; }
.album-list { border-top: 1px solid var(--ink); }
.album-list-row { display: grid; grid-template-columns: 70px 1fr 50px; gap: 30px; border-bottom: 1px solid var(--line); padding: 29px 15px; align-items: center; }
.album-list-no, .album-list-mark { font-size: 12px; letter-spacing: .15em; color: var(--wine); }
.album-list-row h3 { font: 400 clamp(23px,2.2vw,34px)/1.5 var(--serif); margin: 0 0 4px; }
.album-list-row p { color: var(--muted); font-size: 12px; margin: 0; }
.album-list-mark { justify-self: end; }
.listening-note { background: #ece8df; padding: clamp(40px,7vw,105px); border-left: 4px solid var(--wine); }
.listening-note h2 { font: 400 clamp(31px,4vw,58px)/1.4 var(--serif); letter-spacing: -.06em; margin: 20px 0 37px; }
.listening-note-body { max-width: 820px; }
.listening-note-body p { font: 400 clamp(15px,1.5vw,19px)/2.2 var(--serif); color: var(--ink-soft); margin-bottom: 24px; }
.listening-note-end { color: var(--wine); font: 400 30px/1 var(--serif); }
.music-hero { display: grid; grid-template-columns: 48% 52%; min-height: 680px; background: #ebe7e0; }
.music-hero-visual { min-height: 680px; position: relative; background: #cbc5bc; overflow: hidden; }
.music-hero-photo-caption { position: absolute; bottom: 30px; left: 36px; color: white; z-index: 1; font-size: 9px; }
.music-hero-copy { padding: 80px var(--side) 40px clamp(45px,6vw,110px); display: flex; flex-direction: column; align-items: start; justify-content: center; }
.music-hero-disc { font-size: 9px; letter-spacing: .2em; color: var(--muted); margin: 48px 0 24px; }
.music-hero-copy .display-title { font-size: clamp(48px,5vw,86px); margin: 0 0 32px; }
.music-hero-copy > p:not(.eyebrow) { color: var(--ink-soft); font-size: 14px; line-height: 2.1; max-width: 480px; }
.music-hero-footer { display: flex; gap: 25px; justify-content: space-between; align-items: center; width: 100%; margin-top: 58px; color: #8f867d; font-size: 9px; }
.music-marquee { background: var(--wine); border: 0; color: #f8e9e5; justify-content: space-evenly; padding: 19px var(--side); }
.music-marquee span:nth-child(even) { color: #dcb4ab; }
.music-section { padding-top: 104px; }
.artist-slots { display: grid; grid-template-columns: 1.65fr 1fr 1fr; gap: 22px; }
.artist-main-slot { background: #dfd4ca; min-height: 330px; padding: 26px; display: grid; grid-template-columns: .72fr 1fr; gap: 30px; align-items: center; }
.artist-silhouette { background: #c4b3a5; min-height: 250px; display: grid; place-items: center; }
.artist-silhouette span { font: 400 155px/1 var(--serif); color: #efe6dd; }
.artist-main-slot h3 { font: 400 clamp(20px,2.1vw,31px)/1.55 var(--serif); letter-spacing: -.055em; margin: 16px 0; }
.artist-main-slot p { font-size: 12px; line-height: 2; color: var(--ink-soft); }
.artist-side-slot { border: 1px solid var(--line); padding: 25px; display: flex; flex-direction: column; justify-content: space-between; min-height: 330px; }
.artist-side-slot > span { font-size: 9px; letter-spacing: .15em; color: var(--muted); }
.artist-side-slot > div { color: #c8beb5; font-size: 108px; text-align: center; line-height: 1.1; }
.music-slot { font-size: 11px; letter-spacing: .08em; margin: 0; }
.music-slot span { font-size: 10px; color: var(--muted); display: block; margin-top: 5px; }
.tracklist { border-top: 1px solid var(--ink); }
.tracklist-header, .track-row { display: grid; grid-template-columns: 8% 1fr 20%; align-items: center; gap: 20px; }
.tracklist-header { color: var(--muted); padding: 18px 15px; font-size: 9px; }
.track-row { padding: 23px 15px; border-top: 1px solid var(--line); font: 400 19px/1.5 var(--serif); }
.track-row > span:first-child, .track-row > span:last-child { font: 400 12px/1.5 var(--sans); color: var(--muted); }
.track-row small { display: block; color: var(--muted); font: 400 10px/2 var(--sans); margin-top: 3px; }
.track-row > span:last-child { text-align: right; }
.album-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.album-placeholder { aspect-ratio: 1; position: relative; overflow: hidden; display: flex; justify-content: space-between; flex-direction: column; padding: 25px; }
.album-placeholder > span, .album-placeholder small { font-size: 10px; letter-spacing: .2em; z-index: 1; }
.album-a { background: #b06b5e; color: #fff3e3; }
.album-b { background: #242c31; color: #e9d5b8; }
.album-c { background: #d6bf9d; color: #3d3933; }
.album-record { position: absolute; width: 83%; aspect-ratio: 1; border-radius: 50%; top: 10%; left: 18%; background: repeating-radial-gradient(circle at center,#473e38 0 2px,#695349 3px 4px,#2a2625 5px 7px); border: 2px solid #493a35; }
.album-record::after { content: ''; position: absolute; width: 25%; aspect-ratio: 1; border-radius: 50%; top: 37.5%; left: 37.5%; background: #d9a785; border: 3px solid #d7b3a1; }
.album-star { font-size: clamp(90px,13vw,230px); line-height: 1; color: #9faca7; position: absolute; left: 18%; top: 15%; transform: rotate(-18deg); }
.album-arches { width: 75%; height: 95%; border-radius: 47% 47% 0 0; border: 26px solid #ab776b; border-bottom: none; position: absolute; left: 12%; bottom: -28%; box-shadow: inset 0 0 0 24px #d6bf9d, inset 0 0 0 50px #9e8a75; }
.section-footnote { margin-top: 22px; color: var(--muted); font-size: 10px; letter-spacing: .04em; text-transform: none; }
.music-notes-empty { background: #ece8df; min-height: 370px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; }
.music-quote-mark { color: var(--wine); font: 400 90px/.6 var(--serif); }
.music-notes-empty blockquote { font: 400 clamp(25px,2.8vw,42px)/1.7 var(--serif); letter-spacing: -.055em; margin: 22px 0 30px; }
.about-compass-grid { display: grid; grid-template-columns: .9fr 1fr; gap: 10%; padding: 32px 0 0; align-items: start; }
.about-compass-grid h2 { font: 400 clamp(34px, 3.3vw, 55px)/1.6 var(--serif); color: var(--wine); letter-spacing: -.06em; }
.about-compass-grid p { font-size: 14px; color: var(--ink-soft); line-height: 2.15; }
.about-compass-grid .small-overline { margin: 12px 0 29px; color: var(--muted); }
.about-compass-grid .text-link { margin-top: 5px; }
.music-compass { display: grid; grid-template-columns: 1fr 1fr; min-height: 390px; }
.music-compass-quote { background: var(--wine); color: #fff8f0; padding: clamp(32px, 5vw, 73px); display: flex; flex-direction: column; justify-content: center; }
.music-compass-quote .small-overline { color: #efd8d1; }
.music-compass-quote blockquote { display: flex; flex-direction: column; margin: 28px 0 18px; gap: 4px; font: 400 clamp(23px, 2.1vw, 36px)/1.55 var(--serif); letter-spacing: -.04em; }
.music-compass-quote blockquote span { overflow-wrap: anywhere; }
.music-compass-quote > p { font-size: 11px; color: #ebd1ca; margin: 3px 0 0; }
.music-compass-note { background: var(--paper-dark); padding: clamp(32px, 5vw, 73px); display: flex; flex-direction: column; justify-content: center; }
.music-compass-note h3 { font: 400 clamp(30px, 3vw, 47px)/1.48 var(--serif); letter-spacing: -.06em; margin: 19px 0 22px; }
.music-compass-note p { font-size: 13px; color: var(--ink-soft); line-height: 2.15; max-width: 460px; }

/* Life / Gallery / Now */
.life-layout { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 10%; }
.life-image { background: #ddd9d1; }
.life-image img { width: 100%; aspect-ratio: .96; object-fit: cover; }
.life-image span { display: block; padding: 14px; font-size: 9px; letter-spacing: .14em; color: var(--muted); }
.life-copy .text-link { margin-top: 15px; }
.life-note { text-align: center; padding-bottom: 130px; }
.life-note h2 { font: 400 clamp(33px,3.3vw,50px)/1.5 var(--serif); letter-spacing: -.055em; margin: 16px 0 28px; }
.empty-gallery { display: grid; grid-template-columns: 1.1fr .9fr; gap: 8%; align-items: center; }
.gallery-placeholder-grid { display: grid; grid-template-columns: 1.6fr 1fr; grid-template-rows: 190px 190px; gap: 12px; }
.gallery-placeholder-grid > div { background: #ddd7ce; overflow: hidden; display: grid; place-items: center; }
.gallery-placeholder-grid > div:first-child { grid-row: span 2; }
.gallery-placeholder-grid img { width: 100%; height: 100%; object-fit: cover; }
.gallery-monogram { font: 400 90px/1 var(--serif); color: #aba096; }
.gallery-placeholder-grid > div:last-child { background: #ab7a76; color: #f7e8e0; font: 400 31px/1.35 var(--serif); }
.empty-gallery-copy h2 { font: 400 clamp(30px,3vw,47px)/1.5 var(--serif); letter-spacing: -.06em; margin: 15px 0; }
.empty-gallery-copy p { color: var(--ink-soft); font-size: 13px; line-height: 2.1; margin-bottom: 24px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.gallery-item { border: 0; padding: 0; background: #dedbd4; overflow: hidden; }
.gallery-item img { aspect-ratio: .83; object-fit: cover; width: 100%; transition: transform .35s; }
.gallery-item:hover img { transform: scale(1.04); }
.gallery-dialog { padding: 0; border: none; background: #f8f6f0; max-width: min(950px,90vw); max-height: 90vh; box-shadow: 0 25px 100px rgba(0,0,0,.3); }
.gallery-dialog::backdrop { background: rgba(17,16,15,.85); }
.gallery-dialog-inner { padding: 26px; }
.gallery-dialog img { display: block; margin: auto; max-height: 70vh; max-width: 100%; }
.gallery-dialog p { color: var(--ink-soft); font-size: 12px; margin: 14px 0 0; }
.dialog-close { position: absolute; top: 5px; right: 10px; border: 0; background: var(--paper); width: 42px; height: 42px; font-size: 31px; line-height: 1; }
.now-meta { border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 18px; font-size: 10px; letter-spacing: .14em; color: var(--muted); }
.now-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; margin-top: 30px; }
.now-card { min-height: 300px; border: 1px solid var(--line); padding: 32px; position: relative; }
.now-card-n { color: var(--wine); }
.now-card h2 { font: 400 clamp(26px,2.7vw,41px)/1.45 var(--serif); letter-spacing: -.06em; margin: 42px 0 15px; }
.now-card p { color: var(--ink-soft); font-size: 13px; max-width: 370px; }
.now-asterisk { color: #d0c7bd; position: absolute; bottom: 20px; right: 28px; font-size: 57px; }
.now-note { margin-top: 25px; color: var(--muted); font-size: 12px; }

/* Second-stage editorial archives: real entries only, with intentional blank space. */
.archive-catalog { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.archive-catalog-item { padding: 29px 25px 27px; min-height: 180px; border-right: 1px solid var(--line); }
.archive-catalog-item:first-child { padding-left: 0; }
.archive-catalog-item:last-child { border-right: 0; }
.archive-catalog-item > span { display: block; color: var(--wine); font: 600 11px/1.6 var(--sans); letter-spacing: .08em; }
.archive-catalog-item p { margin: 18px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.9; }
.archive-tabs { display: flex; gap: 9px; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding: 0 0 22px; }
.archive-tab { border: 1px solid var(--line); background: transparent; color: var(--ink-soft); padding: 12px 19px; font-size: 12px; transition: background .15s, color .15s, border-color .15s; }
.archive-tab:hover { border-color: #b49792; color: var(--wine); }
.archive-tab.is-selected, .archive-tab[aria-pressed="true"] { border-color: var(--wine); background: var(--wine); color: #fff7f1; }
.archive-selected-intro { display: grid; grid-template-columns: 180px 1fr; gap: 26px; align-items: baseline; padding: 29px 0 0; }
.archive-selected-intro p { color: var(--muted); font-size: 13px; margin: 0; }
.journal-empty { border-bottom: 1px solid var(--line); padding-top: 30px; padding-bottom: 38px; }
.journal-empty-visual { background: var(--paper-dark); position: relative; min-height: 330px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.journal-large-number { font-size: clamp(138px,15vw,260px); color: #c8bcb2; transform: translateX(-12px); }
.journal-empty-asterisk { position: absolute; font: 400 130px/1 var(--serif); color: rgba(135,63,75,.14); top: 5px; right: 12px; transform: rotate(-15deg); }
.journal-entry-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 38px; }
.journal-entry { border: 1px solid var(--line); padding: clamp(25px,3vw,48px); background: #f3efe7; }
.journal-entry-meta { display: flex; justify-content: space-between; gap: 15px; font-size: 10px; letter-spacing: .07em; color: var(--wine); }
.journal-entry h3 { font: 400 31px/1.4 var(--serif); margin: 26px 0 15px; }
.journal-entry > p { color: var(--ink-soft); font-size: 13px; }
.quote-entry { background: var(--paper-dark); }
.quote-glyph { display: block; color: #b79b96; font: 400 84px/.75 var(--serif); padding-top: 45px; }
.quote-entry blockquote { font: 400 clamp(21px,2.1vw,32px)/1.6 var(--serif); margin: 6px 0 25px; overflow-wrap: anywhere; }
.quote-entry .quote-source { color: var(--wine); font-size: 12px; }
.quote-entry .quote-translation { border-top: 1px solid var(--line); padding-top: 21px; margin-top: 23px; }
.quote-entry .quote-reflection { border-left: 2px solid #af8b88; padding-left: 19px; margin-top: 22px; }

/* Life: four themes and a chronological archive without fabricated events. */
.life-opening { display: grid; grid-template-columns: .92fr 1fr; gap: 10%; align-items: center; }
.life-opening-art { background: #ded9d0; overflow: hidden; }
.life-opening-art img { width: 100%; aspect-ratio: 1.3; object-fit: cover; }
.life-opening-art > span { display: block; padding: 13px 18px; color: var(--muted); font-size: 9px; letter-spacing: .12em; }
.life-opening-text h2 { font: 400 clamp(32px,3vw,50px)/1.55 var(--serif); letter-spacing: -.06em; margin: 24px 0; }
.life-opening-text > p { font-size: 13px; color: var(--ink-soft); max-width: 510px; line-height: 2.1; }
.life-opening-text .text-link { margin-top: 22px; }
.life-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.life-category-card { min-height: 255px; padding: 32px 26px 25px; border-right: 1px solid var(--line); }
.life-category-card:first-child { padding-left: 0; }
.life-category-card:last-child { border-right: 0; }
.life-category-card > span { color: var(--wine); font-size: 11px; }
.life-category-card h3 { font: 400 clamp(23px,2.2vw,36px)/1.3 var(--serif); margin: 42px 0 16px; }
.life-category-card p { font-size: 12px; line-height: 1.9; color: var(--muted); }
.life-timeline-empty { display: grid; grid-template-columns: minmax(100px,25%) 1fr; gap: 8%; align-items: center; min-height: 330px; padding: 35px 0 15px; border-bottom: 1px solid var(--line); }
.life-timeline-spine { position: relative; height: 225px; border-left: 1px solid #b5aaa0; margin-left: 55%; }
.life-timeline-spine::before { content: ''; display: block; position: absolute; width: 23px; height: 23px; border: 1px solid var(--wine); background: var(--paper); border-radius: 50%; top: -8px; left: -12px; }
.life-timeline-spine::after { content: '000'; position: absolute; top: -13px; left: 32px; color: var(--muted); font-size: 11px; letter-spacing: .18em; }
.life-timeline-empty h3 { margin: 19px 0; font: 400 clamp(30px,3vw,46px)/1.5 var(--serif); letter-spacing: -.06em; }
.life-timeline-empty p { max-width: 550px; font-size: 13px; color: var(--ink-soft); }
.life-timeline { border-top: 1px solid var(--line); margin-top: 35px; }
.life-timeline-entry { display: grid; grid-template-columns: 24% 1fr; gap: 7%; border-bottom: 1px solid var(--line); padding: 42px 0; }
.life-timeline-date { position: relative; border-right: 1px solid var(--line); font: 600 11px/1.8 var(--sans); letter-spacing: .08em; color: var(--wine); }
.life-timeline-dot { position: absolute; top: 0; right: -5px; border: 1px solid var(--wine); background: var(--paper); width: 9px; height: 9px; border-radius: 50%; }
.life-timeline-content h3 { font: 400 clamp(25px,2.8vw,40px)/1.4 var(--serif); margin: 14px 0; }
.life-timeline-content p { font-size: 13px; color: var(--ink-soft); }
.life-timeline-content img { margin-top: 20px; max-height: 470px; width: 100%; object-fit: cover; }
.life-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 21px; }
.life-tags span { font-size: 10px; color: var(--wine); border: 1px solid #c4a6a3; padding: 6px 10px; }

/* Lab: abstract construction-paper artwork, never simulated data charts. */
.lab-introduction { display: grid; grid-template-columns: 1fr .85fr; gap: 9%; align-items: center; }
.lab-intro-copy h2 { font: 400 clamp(32px,3.5vw,56px)/1.55 var(--serif); letter-spacing: -.07em; margin: 23px 0; }
.lab-intro-copy p { max-width: 510px; color: var(--ink-soft); font-size: 13px; }
.lab-art-composition { height: 330px; background: #e6ddd5; position: relative; display: grid; place-items: center; overflow: hidden; }
.lab-art-frame { position: absolute; width: 64%; aspect-ratio: 1; border: 1px solid #ab827d; transform: rotate(18deg); display: grid; place-items: center; }
.lab-art-frame::before, .lab-art-frame::after { content: ''; position: absolute; width: 78%; height: 78%; border: 1px solid #ab827d; border-radius: 50%; }
.lab-art-frame::after { width: 50%; height: 50%; }
.lab-art-frame i { position: absolute; width: 6px; height: 6px; background: var(--wine); border-radius: 50%; }
.lab-art-frame i:nth-child(1) { top: 0; right: 0; }.lab-art-frame i:nth-child(2) { bottom: 12%; left: 12%; }.lab-art-frame i:nth-child(3) { top: 39%; left: 5%; }
.lab-art-initial { z-index: 1; color: #86515a; font: 400 clamp(92px,10vw,155px)/1 var(--serif); letter-spacing: -.11em; }
.lab-art-caption { position: absolute; bottom: 17px; left: 20px; font-size: 9px; letter-spacing: .14em; color: #876c66; }
.lab-category-list { border-top: 1px solid var(--line); }
.lab-category { display: grid; grid-template-columns: .7fr 1fr; gap: 7%; align-items: center; padding: 45px 0; border-bottom: 1px solid var(--line); }
.lab-category-art { min-height: 335px; position: relative; background: #ded9d0; overflow: hidden; display: grid; place-items: center; }
.lab-category-art > strong { position: absolute; bottom: 20px; left: 23px; color: #856b65; font: 400 13px/1 var(--sans); letter-spacing: .18em; }
.lab-category-art-1 .lab-art-shape { width: 49%; aspect-ratio: 1; border: 1px solid #ad7f7a; border-radius: 50%; box-shadow: 0 0 0 33px rgba(135,63,75,.12), 0 0 0 66px rgba(135,63,75,.08); }
.lab-category-art-1 .lab-art-shape-two { position: absolute; width: 75%; height: 1px; background: #94736d; transform: rotate(-35deg); }
.lab-category-art-2 { background: #ddd2c7; }
.lab-category-art-2 .lab-art-shape { width: 66%; aspect-ratio: 1; background: repeating-linear-gradient(0deg,transparent 0 25px,rgba(113,89,82,.22) 26px 27px),repeating-linear-gradient(90deg,transparent 0 25px,rgba(113,89,82,.22) 26px 27px); transform: rotate(9deg); }
.lab-category-art-2 .lab-art-shape-two { position: absolute; border: 1px solid #b0837c; width: 37%; aspect-ratio: 1; border-radius: 50%; }
.lab-category-art-3 { background: #e7e0d7; }
.lab-category-art-3 .lab-art-shape { width: 45%; aspect-ratio: 1; border: 2px solid #a27b76; transform: rotate(45deg); }
.lab-category-art-3 .lab-art-shape-two { position: absolute; width: 55%; height: 55%; border: 1px solid #a27b76; border-radius: 50%; }
.lab-category-top { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.lab-category-status { color: var(--muted); font-size: 10px; letter-spacing: .06em; }
.lab-category-copy h3 { font: 400 clamp(30px,3.1vw,50px)/1.4 var(--serif); letter-spacing: -.05em; margin: 30px 0 16px; }
.lab-category-copy > p { font-size: 13px; color: var(--ink-soft); max-width: 560px; }
.lab-empty { display: flex; gap: 19px; border-top: 1px solid var(--line); padding-top: 26px; margin-top: 35px; }
.lab-empty > span { color: #b19089; font: 400 32px/1 var(--serif); }
.lab-empty strong { font-size: 12px; font-weight: 600; }
.lab-empty p { font-size: 12px; color: var(--muted); margin: 7px 0 0; }
.lab-work-list { display: grid; gap: 15px; margin-top: 28px; }
.lab-work { padding: 20px; background: var(--paper-dark); }
.lab-work h4 { margin: 0 0 10px; font: 400 25px/1.4 var(--serif); }
.lab-work p { color: var(--ink-soft); font-size: 12px; margin: 0; }

/* Now: one visual language for verified notes and unconfirmed reading. */
.now-section .now-grid { gap: 16px; }
.now-card { display: flex; flex-direction: column; min-height: 340px; padding: clamp(26px,3vw,43px); background: #f3f0e9; overflow: hidden; }
.now-card:nth-child(2) { background: #ece7df; }
.now-card:nth-child(3) { background: #e9ddd7; }
.now-card:nth-child(4) { background: #f0eae2; }
.now-card-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.now-card-status { font-size: 10px; color: var(--muted); letter-spacing: .07em; }
.now-card-status.is-pending { color: var(--wine); border: 1px solid #c4a6a3; padding: 6px 9px; }
.now-card h2 { margin: 45px 0 16px; }
.now-card p { padding-right: 55px; }
.now-card-link { position: relative; z-index: 1; display: inline-flex; gap: 20px; align-items: center; color: var(--wine); border-bottom: 1px solid currentColor; max-width: fit-content; margin-top: auto; padding-top: 13px; padding-bottom: 5px; font-size: 11px; font-weight: 600; }
.now-card-link:hover { gap: 25px; }
.now-asterisk { opacity: .75; pointer-events: none; }
.now-ending { display: grid; grid-template-columns: 1fr 2fr; gap: 30px; border-top: 1px solid var(--line); padding-top: 25px; margin-top: 37px; }
.now-ending p { max-width: 760px; font-size: 13px; color: var(--ink-soft); margin: 0; }

/* Footer */
.site-footer { background: #2d2b29; color: #eee9e1; padding: 75px var(--side) 28px; }
.footer-top { display: flex; justify-content: space-between; align-items: start; gap: 40px; padding-bottom: 80px; max-width: 1600px; margin: auto; }
.footer-monogram { font: 400 76px/1 var(--serif); letter-spacing: -.09em; }
.footer-top p { color: #beb7af; font-size: 13px; margin: 17px 0 0; }
.footer-links { display: flex; gap: 35px; flex-wrap: wrap; margin-top: 28px; font-size: 12px; }
.footer-links a:hover { color: #d9a2a6; }
.footer-bottom { border-top: 1px solid #514d48; padding-top: 26px; max-width: 1600px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: #a69d94; font-size: 9px; }
.footer-bottom a { color: #e8dcd4; }

/* Responsive composition */
@media (min-width: 1800px) { #main-content { max-width: 1800px; margin: auto; } }
@media (max-width: 1200px) {
  :root { --side: clamp(30px,5vw,70px); }
  .nav-frame { gap: 20px; }.nav-actions { gap: 20px; }.primary-nav { gap: 18px; }
  .nav-link { font-size: 11px; }
  .logo-caption { display: none; }
  .home-hero-copy { padding-right: 6%; }
  .artist-slots { grid-template-columns: 1.4fr 1fr 1fr; gap: 13px; }.artist-main-slot { grid-template-columns: 1fr; }.artist-silhouette { min-height: 120px; }.artist-silhouette span { font-size: 90px; }
  .music-hero-copy { padding-right: var(--side); }.now-band { gap: 30px; }
}
@media (max-width: 900px) {
  .site-header { height: 76px; }.nav-frame { padding: 0 var(--side); }.logo-caption { display: inline; }
  .menu-button { display: block; }.nav-actions { gap: 25px; }
  .primary-nav { position: absolute; top: 76px; left: 0; right: 0; background: var(--paper); padding: 20px var(--side) 28px; border-bottom: 1px solid var(--line); display: none; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 15px 30px rgba(0,0,0,.04); }
  .menu-open .primary-nav { display: flex; }.primary-nav a { padding: 13px 0; font-size: 14px; border-bottom: 1px solid var(--line); }.nav-link.is-active::after { display: none; }
  .menu-open .menu-button span:first-child { transform: translateY(4px) rotate(45deg); }.menu-open .menu-button span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .home-hero { grid-template-columns: 54% 46%; min-height: 610px; }.home-hero-copy { padding-top: 50px; }.home-title { font-size: clamp(41px, 5.3vw, 61px); }.hero-tagline { font-size: clamp(22px, 2.5vw, 29px); }.home-hero-visual { min-height: 590px; }.hero-edition { display: none; }.hero-scroll { display: none; }
  .running-line { justify-content: flex-start; }.running-line span:nth-child(n+6) { display: none; }
  .editorial-section { padding-top: 75px; padding-bottom: 75px; }.home-two-col { padding: 40px 0 0; gap: 6%; }
  .now-band { grid-template-columns: 1fr auto; }.now-band > p { grid-column: 1; }.now-band .text-link { grid-row: 1 / span 2; grid-column: 2; }
  .research-module { grid-template-columns: 10% 1.2fr .8fr; gap: 3%; }.research-art { min-height: 215px; }
  .music-hero { min-height: 590px; }.music-hero-visual { min-height: 590px; }.music-hero-disc { margin-top: 25px; }.music-hero-footer { flex-direction: column; align-items: start; }
  .music-hero-copy .display-title { font-size: clamp(43px,5.5vw,62px); }
  .music-artist-grid { grid-template-columns: repeat(2, 1fr); }
  .project-case-header { grid-template-columns: 1fr; gap: 28px; }
  .project-prize { border-left: 0; padding: 0; border-top: 1px solid var(--line); padding-top: 19px; }
  .artist-slots { grid-template-columns: 1fr 1fr; }.artist-main-slot { grid-column: span 2; grid-template-columns: .75fr 1fr; }.artist-side-slot { min-height: 220px; }.artist-side-slot > div { font-size: 75px; }
}
@media (max-width: 680px) {
  :root { --side: 23px; }
  .site-header { height: 70px; }.primary-nav { top: 70px; }.logo-mark { font-size: 28px; }.logo-caption { font-size: 10px; }.nav-actions { gap: 15px; }
  .display-title { font-size: clamp(45px, 11.5vw, 71px); }.page-hero { padding-top: 75px; padding-bottom: 77px; }.page-hero-top { margin-bottom: 27px; }.page-lead { font-size: 14px; }
  .home-hero { grid-template-columns: 1fr; }.home-hero-copy { padding: 75px var(--side) 62px; min-height: 505px; }.home-title { font-size: clamp(40px, 9vw, 59px); margin: 52px 0 22px; }.hero-tagline { font-size: clamp(22px, 5.4vw, 30px); margin-bottom: 25px; }.hero-description { margin-bottom: 36px; }.home-lead { font-size: 14px; }.home-hero-visual { min-height: 450px; max-height: 550px; }.home-hero-visual img { aspect-ratio: 1.1; }
  .hero-identity { font-size: 11px; margin-bottom: 18px; }.home-hero .hero-tagline { margin-bottom: 42px; }
  .running-line, .music-marquee { padding: 16px var(--side); gap: 24px; justify-content: flex-start; font-size: 9px; }
  .editorial-section { padding: 67px 0; }.section-heading h2 { font-size: clamp(30px,8vw,43px); }.section-heading p { margin-left: 39px; }
  .split-top { display: block; margin-bottom: 29px; }.split-top .text-link { margin-top: 23px; }.section-aside { display: block; margin: 16px 0 0 38px; }
  .home-two-col, .focus-grid, .teaser-grid, .music-preview-grid, .home-bottom, .about-grid, .project-reserved, .life-layout, .empty-gallery { grid-template-columns: 1fr; }
  .home-two-col { padding-top: 28px; gap: 24px; }.intro-serif { font-size: 30px; }.body-copy { font-size: 13px; }
  .focus-art { min-height: 275px; }.focus-copy { border: 1px solid var(--line); padding: 36px; }
  .teaser-grid { gap: 39px; }.teaser-graphic { height: 280px; }.now-band { padding: 55px var(--side); grid-template-columns: 1fr; gap: 22px; }.now-band > p { grid-column: auto; }.now-band .text-link { grid-column: auto; grid-row: auto; }
  .teaser-feature-copy { padding: 36px; }
  .music-preview-photo { min-height: 340px; }.music-preview-copy { padding: 50px 35px; }.music-preview-copy h3 { font-size: 36px; }
  .home-bottom { gap: 80px; }.gallery-preview-art { height: 270px; }
  .portrait-placeholder { height: 460px; }.about-story { padding-top: 40px; }.about-story h2, .life-copy h2 { font-size: 34px; }
  .fact-rows > div { grid-template-columns: 25px 1fr; }.fact-rows p { grid-column: 2; }
  .research-topline { flex-wrap: wrap; gap: 10px; }.research-module { grid-template-columns: 1fr; gap: 25px; padding: 50px 0; }.research-num { font-size: 25px; }.research-line { height: 40px; }.research-art { min-height: 235px; max-height: 260px; }.research-copy h2 { font-size: 33px; }
  .skill-level-grid, .project-case-meta, .project-detail-grid { grid-template-columns: 1fr; gap: 18px; }
  .skill-level-card p { min-height: 0; }
  .project-flow { grid-template-columns: 1fr 1fr; gap: 7px; }.flow-stage { min-height: 140px; }
  .project-case-header, .project-case-meta, .project-detail-grid, .project-flow { padding-left: 25px; padding-right: 25px; }
  .project-detail-grid { padding-top: 5px; }.project-credit-note { padding-left: 25px; padding-right: 25px; }
  .project-reserved-art { min-height: 280px; }.project-reserved > div:last-child { padding: 15px 30px 40px; }.lab-entry { grid-template-columns: 1fr auto; }.lab-entry-graphic { display: none; }.lab-bars { height: 260px; }.lab-footnotes { grid-template-columns: 1fr; gap: 24px; }
  .journal-empty { grid-template-columns: 1fr; gap: 10px; }.journal-large-number { font-size: 180px; }.journal-empty h2 { font-size: 33px; }
  .music-hero { grid-template-columns: 1fr; }.music-hero-visual { min-height: 440px; max-height: 560px; }.music-hero-copy { padding: 66px var(--side) 55px; }.music-hero-copy .display-title { font-size: clamp(50px, 10vw, 72px); }.music-hero-footer { flex-direction: row; margin-top: 35px; }
  .music-artist-card { min-height: 215px; }.artist-card-symbol { font-size: 48px; }
  .record-feature { grid-template-columns: 1fr; }.record-feature-art { min-height: 300px; }.record-disc { width: min(68%, 270px); }.record-feature-copy { padding: 42px 32px; }
  .album-list-row { grid-template-columns: 32px 1fr 24px; gap: 12px; padding: 24px 5px; }
  .listening-note { padding: 38px 30px; }
  .artist-main-slot { grid-template-columns: 1fr; }.artist-silhouette { min-height: 180px; }.artist-silhouette span { font-size: 130px; }.artist-side-slot { padding: 16px; }.artist-side-slot > div { font-size: 75px; }
  .tracklist-header, .track-row { grid-template-columns: 40px 1fr 60px; gap: 10px; }.track-row { font-size: 16px; }.album-grid { gap: 9px; }.album-placeholder { padding: 12px; }.album-placeholder > span, .album-placeholder small { font-size: 8px; }.album-arches { border-width: 13px; }
  .music-notes-empty { min-height: 320px; }.music-notes-empty blockquote { font-size: 27px; }
  .life-image img { aspect-ratio: 1.05; }.life-copy { padding-top: 32px; }.gallery-placeholder-grid { grid-template-rows: 150px 150px; }.empty-gallery-copy { padding-top: 33px; }.gallery-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .now-grid { grid-template-columns: 1fr; }.now-card { min-height: 270px; }.now-card h2 { font-size: 34px; }
  .site-footer { padding-top: 58px; }.footer-top { flex-direction: column; padding-bottom: 55px; }.footer-links { gap: 21px; }.footer-bottom { flex-wrap: wrap; line-height: 2; }
}
@media (max-width: 400px) {
  .logo-caption { display: none; }.home-title { font-size: 40px; }.music-hero-footer { flex-direction: column; }
  .music-artist-grid { grid-template-columns: 1fr; }.music-artist-card { min-height: 205px; }
  .album-grid { grid-template-columns: repeat(2,1fr); }.album-placeholder:last-child { display: none; }
  .gallery-placeholder-grid { grid-template-rows: 120px 120px; }.gallery-monogram { font-size: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@media (max-width: 1050px) {
  .archive-catalog, .life-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-catalog-item, .life-category-card { border-bottom: 1px solid var(--line); }
  .archive-catalog-item:nth-child(2), .life-category-card:nth-child(2) { border-right: 0; }
  .archive-catalog-item:nth-child(n+3), .life-category-card:nth-child(n+3) { border-bottom: 0; }
  .archive-catalog-item:nth-child(3), .life-category-card:nth-child(3) { padding-left: 0; }
  .now-card-top { flex-wrap: wrap; }
}
@media (max-width: 680px) {
  .archive-catalog-item { min-height: 185px; padding: 23px 14px; }
  .archive-catalog-item:nth-child(2n) { padding-right: 0; }
  .archive-catalog-item p { font-size: 11px; }
  .archive-tabs { flex-wrap: nowrap; overflow-x: auto; gap: 7px; margin-right: calc(-1 * var(--side)); padding-right: var(--side); padding-bottom: 15px; scrollbar-width: thin; }
  .archive-tab { white-space: nowrap; padding: 11px 14px; flex-shrink: 0; }
  .archive-selected-intro { grid-template-columns: 1fr; gap: 7px; padding-top: 22px; }
  .journal-empty { grid-template-columns: 1fr; gap: 28px; padding: 28px 0; }
  .journal-empty-visual { min-height: 215px; }
  .journal-large-number { font-size: 165px; }
  .journal-empty h2 { font-size: 32px; }
  .journal-entry-list, .life-opening, .lab-introduction, .lab-category { grid-template-columns: 1fr; }
  .life-opening, .lab-introduction { gap: 30px; }
  .life-opening-art img { aspect-ratio: 1.15; }
  .life-opening-text h2 { font-size: 34px; }
  .life-category-card { min-height: 205px; padding: 26px 15px; }
  .life-category-card:nth-child(2n) { padding-right: 0; }
  .life-category-card h3 { margin-top: 29px; font-size: 27px; }
  .life-timeline-empty { grid-template-columns: 65px 1fr; gap: 17px; min-height: 280px; }
  .life-timeline-spine { height: 200px; margin-left: 17px; }
  .life-timeline-spine::after { left: 20px; }
  .life-timeline-empty h3 { font-size: 30px; }
  .life-timeline-entry { grid-template-columns: 100px 1fr; gap: 20px; }
  .life-timeline-content h3 { font-size: 26px; }
  .lab-art-composition { height: 250px; }
  .lab-category { gap: 26px; padding: 36px 0; }
  .lab-category-art { min-height: 235px; }
  .lab-category-copy h3 { font-size: 36px; margin: 20px 0 12px; }
  .lab-category-top { flex-wrap: wrap; }
  .lab-empty { margin-top: 24px; }
  .now-card { min-height: 315px; }
  .now-card p { padding-right: 28px; }
  .now-ending { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 400px) {
  .archive-catalog, .life-category-grid { grid-template-columns: 1fr; }
  .archive-catalog-item, .archive-catalog-item:nth-child(3), .life-category-card, .life-category-card:nth-child(3) { border-right: 0; border-bottom: 1px solid var(--line); padding: 22px 0; min-height: 0; }
  .archive-catalog-item:last-child, .life-category-card:last-child { border-bottom: 0; }
  .life-category-card h3 { margin: 15px 0 8px; }
  .life-timeline-entry { grid-template-columns: 1fr; gap: 16px; }
  .life-timeline-date { border-right: 0; }
  .life-timeline-dot { display: none; }
}

@media (max-width: 900px) {
  .hero-lyric-line { font-size: clamp(20px, 2.7vw, 27px); }
}
@media (max-width: 680px) {
  .home-hero .hero-lyric { margin: 0 0 35px; }
  .hero-lyric-line { font-size: clamp(21px, 5.15vw, 26px); line-height: 1.48; }
  .hero-lyric-source { margin-top: 14px; font-size: 10px; }
  .about-compass-grid, .music-compass { grid-template-columns: 1fr; }
  .about-compass-grid { gap: 18px; padding-top: 10px; }
  .about-compass-grid h2 { font-size: 34px; }
  .music-compass-quote, .music-compass-note { padding: 39px 30px; }
  .music-compass-quote blockquote { font-size: clamp(23px, 6vw, 30px); }
  .music-compass-note h3 { font-size: 34px; }
}
@media (max-width: 400px) {
  .hero-lyric-line { font-size: 20px; }
}
