/* Shared work detail composition. */
.art-dialog .art-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:48px;padding:36px 40px 40px;max-width:1700px;margin:auto;align-items:start}
.art-viewer{min-width:0;background:#efefef}
.art-dialog.dark .art-viewer{background:#141414}
.art-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 20px;font-size:12px;border-bottom:1px solid #d9d9d9}
.art-dialog.dark .art-viewer-toolbar{border-color:#414141}
.art-viewer-toolbar>button{min-height:48px;font-size:14px}
.art-dialog .art-layout #art-visual{width:100%;height:calc(100dvh - 200px);min-height:320px;margin:0;overflow:auto;padding:24px;overscroll-behavior:contain}
.art-dialog .art-layout #art-visual>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0}
.art-dialog .art-layout #art-visual.is-zoomed>img{width:200%;height:auto;max-width:none;max-height:none;object-fit:initial}
.art-layout .writing-dialog-visual{font-size:clamp(70px,9vw,140px);padding:70px 20px}
.art-dialog .art-layout .art-copy{width:auto;margin:24px 0 0;position:sticky;top:100px}
.art-layout .art-copy h2{font-size:32px}
.art-layout .art-copy p{font-size:16px;line-height:1.9}
.art-collaborate{display:flex;justify-content:space-between;align-items:center;gap:22px;width:100%;margin-top:45px;padding-block:18px;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;font-size:14px;text-align:left}
.art-collaborate>span{font-size:23px}
.art-follow{display:flex;justify-content:space-between;gap:20px;padding-block:18px;font-size:14px}
.art-follow:hover{text-decoration:underline;text-underline-offset:5px}
.connection-paths{scroll-margin-top:0}
.art-dialog.dark .art-collaborate{border-color:#414141}

/* A / Cinema: one system for the homepage, archive and connection drawers.
   Based on the existing project. External trigger references await Aside access. */
:root {
  --studio-gutter: clamp(22px, 4.4vw, 72px);
  --studio-space: clamp(88px, 10vw, 156px);
  --studio-hairline: #d2d2d2;
  --studio-paper: #f1f1ef;
  --motion-ease: cubic-bezier(.16, 1, .3, 1);
}
.page-width { width: min(1440px, calc(100% - var(--studio-gutter) * 2)); }
.section-space { padding-top: var(--studio-space); }
.section-caption { margin-bottom: clamp(38px, 5vw, 72px); padding-top: 20px; }
.section-caption > span { font: 400 12px/1.5 var(--sans); letter-spacing: .045em; text-transform: uppercase; }
.text-link { min-height: 44px; text-decoration-thickness: 1px; text-underline-offset: 7px; }
button:focus-visible, a:focus-visible { outline-offset: 5px; }
.site-header.page-width { padding-inline: var(--studio-gutter); height: 88px; }
.site-header.is-past-opening { height: 76px; box-shadow: 0 1px 0 #0000000d; }
.site-header .chapter-nav { display: flex; gap: 32px; margin: 0 auto; font-size: 14px; }
.chapter-nav a { min-height: 44px; display: flex; align-items: center; }
.site-header .chapter-nav a:after { bottom: 4px; transition: transform .35s var(--motion-ease); }
.site-header .chapter-nav a[aria-current=location]:after { transform: scaleX(1); }
.site-header:after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: currentColor; transform: scaleX(var(--page-progress, 0)); transform-origin: left; pointer-events: none; opacity: .5; }
.header-actions { gap: 25px; }
.header-actions .header-contact { display: none; }
.opening { height: 140svh; min-height: 760px; }
.opening-sticky { min-height: 550px; }
.opening-topline { left: var(--studio-gutter); right: var(--studio-gutter); top: 136px; }
.opening-name { left: calc(var(--studio-gutter) - .02em); right: var(--studio-gutter); bottom: 120px; font-size: clamp(96px, 21vw, 334px); }
.opening-bottom { left: var(--studio-gutter); right: var(--studio-gutter); bottom: 55px; }
.opening-asset-note { left: var(--studio-gutter); bottom: 21px; }
.scroll-mark { width: 22px; height: 40px; border-radius: 20px; font-size: 0; }
.scroll-mark:before { content: ''; width: 2px; height: 8px; background: currentColor; border-radius: 2px; animation: scroll-cue 2.4s ease-in-out 3; }
.scene-link { padding: 8px 0; }
.introduction { grid-template-columns: 1fr 2.5fr 1fr; gap: 36px; padding-block: 70px 90px; }
.introduction > p { font-size: clamp(24px, 2.9vw, 43px); line-height: 1.7; }
.practice-strip { padding-bottom: 60px; }
#practice-track { font-size: clamp(64px, 9.5vw, 150px); color: #707070; }

/* The selected image is the anchor; the three media remain visible together. */
.work-experience { padding-top: 26px; }
.expression-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 46px; }
.expression-heading > p { font: 400 clamp(48px, 6.3vw, 96px)/1.04 var(--serif); letter-spacing: -.055em; margin: 0; }
.expression-heading > p em { font-weight: 400; }
.expression-heading > span { font-size: 16px; line-height: 1.85; color: var(--secondary); padding-bottom: 6px; }
.expression-layout { --active-medium: 0; display: flex; flex-direction: column; gap: 30px; }
.expression-choices { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--studio-hairline); }
.expression-choices:after { content: ''; position: absolute; inset: auto auto -1px 0; width: 33.3333%; height: 2px; background: var(--black); transform: translateX(calc(var(--active-medium) * 100%)); transition: transform .55s var(--motion-ease); pointer-events: none; }
.expression-choices > button { display: flex; align-items: baseline; gap: 20px; min-width: 0; text-align: left; padding: 20px 24px; color: #696969; transition: color .25s; }
.expression-choices > button + button { border-left: 1px solid var(--studio-hairline); }
.expression-choices > button:hover, .expression-choices > button[aria-pressed=true] { color: var(--black); }
.expression-choices > button:focus-visible { outline-offset: -5px; }
.expression-number { font-size: 12px; font-variant-numeric: tabular-nums; }
.expression-label { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 20px; font: 400 clamp(30px, 3.8vw, 54px)/1.2 var(--serif); letter-spacing: -.045em; }
.expression-label small { font: 400 14px/1.5 var(--sans); letter-spacing: 0; }
.expression-stage { min-width: 0; width: 100%; }
.expression-visual { display: block; width: 100%; height: clamp(440px, 52vw, 750px); overflow: hidden; position: relative; isolation: isolate; background: var(--studio-paper); text-align: left; touch-action: pan-y; }
.expression-artwork { display: block; position: absolute; inset: 0; transform: translate(var(--preview-x, 0px), var(--preview-y, 0px)); transition: transform .65s var(--motion-ease); }
.expression-artwork > img { width: 100%; height: 100%; object-fit: contain; padding: 4.7%; filter: drop-shadow(0 15px 18px #00000018); }
.expression-artwork[data-expression-panel=acting] { inset: -8px; background: #111; }
.expression-artwork[data-expression-panel=acting] > img { padding: 0; object-fit: cover; filter: none; }
.expression-paper { padding: clamp(28px, 5vw, 76px); background: #f1f1ef; display: flex; flex-direction: column; justify-content: space-between; }
.paper-caption { font-size: 12px; letter-spacing: .06em; }
.paper-word { font: 400 clamp(72px, 12vw, 180px)/.94 var(--serif); letter-spacing: -.055em; }
.paper-word em { display: block; margin-left: 13%; font-weight: 400; }
.paper-note { font: 400 20px/1.8 var(--korean-serif); align-self: flex-end; margin-right: 4%; }
.expression-open-hint { position: absolute; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 19px; font-size: 14px; color: #080808; background: #fff; transition: transform .35s var(--motion-ease), background .25s, color .25s; }
.view-corners { display: block; width: 15px; height: 15px; border: 1px solid currentColor; }
.expression-visual:hover .expression-open-hint, .expression-visual:focus-visible .expression-open-hint { transform: translateY(-4px); color: #fff; background: #080808; }
.expression-caption { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--studio-hairline); }
.expression-caption > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 28px; }
.expression-edition { font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.expression-caption h3 { font: 400 24px/1.4 var(--korean-serif); margin: 0; letter-spacing: -.035em; }
.expression-note { font-size: 12px; color: var(--secondary); line-height: 1.75; text-align: right; }
.expression-next { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0 0; font-size: 14px; }
.expression-next > a, .expression-archive { min-height: 44px; }
.expression-next > a { display: flex; align-items: center; text-decoration: underline; text-underline-offset: 7px; }
.expression-archive { display: inline-flex; align-items: center; gap: 13px; font-size: 14px; }
.archive-grid-icon { width: 15px; height: 15px; background: linear-gradient(currentColor, currentColor) 0 0/6px 6px, linear-gradient(currentColor, currentColor) 100% 0/6px 6px, linear-gradient(currentColor, currentColor) 0 100%/6px 6px, linear-gradient(currentColor, currentColor) 100% 100%/6px 6px; background-repeat: no-repeat; }

/* Biography reads as an editorial spread, with the evidence on one shared row. */
.about-layout { grid-template-columns: .85fr 1.15fr; gap: 11%; }
.about .personal-name { position: static; font: 400 16px/1.5 var(--sans); letter-spacing: 0; }
.personal-name > span { font: 400 clamp(66px, 8.8vw, 134px)/.93 var(--serif); letter-spacing: -.06em; margin-top: 30px; }
.personal-name > span em { padding-left: .48em; font-weight: 400; }
.about-roles { margin-top: 30px; font-size: 14px; }
.biography .biography-lead { font-size: clamp(28px, 3.1vw, 44px); line-height: 1.65; }
.biography > p { font-size: 16px; line-height: 1.95; }
.career-proof { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 0; margin: 70px 0 50px; border-block: 1px solid var(--studio-hairline); }
.career-proof > div { border: 0; padding: 30px 24px; }
.career-proof > div:first-child { padding-left: 0; }
.career-proof > div + div { border-left: 1px solid var(--studio-hairline); }
.career-proof strong { font-size: clamp(36px, 4vw, 60px); }
.career-proof p { font-size: 13px; }
.about-chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5%; border: 0; }
.about-chapters article { border: 0; padding: 0; }
.about-chapters h3 { font-size: 21px; margin-block: 18px; }
.about-chapters p { font-size: 16px; line-height: 1.9; }
.about-invitation { margin-top: 34px; }

/* An index, not a carousel: all four businesses are visible without a gesture. */
.ventures { --gutter: var(--studio-gutter); padding-bottom: var(--studio-space); }
.ventures-intro { grid-template-columns: 1.2fr 1fr; gap: 8%; margin-bottom: 45px; }
.ventures-title { font-size: clamp(56px, 7.5vw, 112px); }
.ventures-description { max-width: 430px; justify-self: end; }
.ventures-description a { min-height: 44px; align-items: center; line-height: 1.7; }
.ventures-toolbar { padding-block: 18px; font-size: 13px; }
.venture-track[data-layout=index] { padding: 0; width: min(1440px, calc(100% - var(--studio-gutter) * 2)); margin-inline: auto; }
.venture-track[data-layout=index] .venture-card { position: relative; }
.venture-track[data-layout=index] .venture-open { position: relative; isolation: isolate; grid-template-columns: 108px 1fr; gap: 36px; padding: 22px 0; }
.venture-track[data-layout=index] .venture-open:before { content: ''; position: absolute; inset: 0 calc(var(--studio-gutter) * -1); background: #f1f1ef; transform: scaleY(0); transform-origin: bottom; transition: transform .4s var(--motion-ease); z-index: -1; }
.venture-track[data-layout=index] .venture-open:after { content: ''; position: absolute; inset: auto 0 -1px; height: 1px; background: #080808; transform: scaleX(0); transform-origin: left; transition: transform .65s var(--motion-ease); }
.venture-track[data-layout=index] .venture-open:hover:before, .venture-track[data-layout=index] .venture-open:focus-visible:before { transform: scaleY(1); }
.venture-track[data-layout=index] .venture-open:hover:after, .venture-track[data-layout=index] .venture-open:focus-visible:after { transform: scaleX(1); }
.venture-track[data-layout=index] .venture-meta { grid-template-columns: 30px 1fr 110px 24px; gap: 25px; }
.venture-track[data-layout=index] .venture-name strong { font-size: clamp(23px, 2.65vw, 38px); transition: transform .45s var(--motion-ease); }
.venture-track[data-layout=index] .venture-name small { font-size: 14px; margin-top: 5px; }
.venture-track[data-layout=index] .venture-open:hover .venture-name strong { transform: translateX(7px); }
.venture-track[data-layout=index] .venture-cover { aspect-ratio: 1.3; }
.venture-track[data-layout=index] .venture-arrow { font: 300 30px/1 var(--sans); transform: none; }
.venture-sheet-copy dd { font-size: 16px; }
.venture-partner { min-height: 56px; font-size: 16px; }
.venture-partner > span:first-child { font-size: 16px; }
.venture-partner:hover > span:first-child { transform: none; }
.venture-partner, .form-submit { transition: background .25s; }
.venture-partner:hover, .form-submit:hover { background: #333; }

/* Four purposes beside a quiet invitation; a drawer preserves page context. */
.correspondence { padding-top: 90px; }
.correspondence .section-caption { margin-bottom: 60px; }
.correspondence-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8%; align-items: start; }
.correspondence-heading { display: block; position: sticky; top: 122px; padding-bottom: 40px; }
.correspondence-title { font-size: clamp(56px, 7vw, 104px); line-height: 1.02; }
.correspondence-intro { font-size: 16px; line-height: 1.9; margin-top: 32px; }
.connection-paths { scroll-margin-top: 106px; }
.connection-path { grid-template-columns: 26px 1fr 24px; gap: 8px 20px; padding: 25px 0; }
.path-number { margin-top: 5px; }
.path-title { font-size: clamp(22px, 2.2vw, 30px); }
.path-title small { font-size: 16px; }
.path-description { grid-column: 2; grid-row: 2; font-size: 14px; margin-top: 6px; }
.path-description br { display: none; }
.path-arrow { grid-column: 3; grid-row: 1; font: 300 29px/1.2 var(--sans); }
.connection-path:hover .path-arrow { transform: none; }
.connection-path:hover .path-title { transform: translateX(4px); }
.correspondence-note { margin-top: 34px; }
.portfolio-footer.page-width { padding: 85px var(--studio-gutter) 32px; }
.portfolio-footer .signature { padding-top: 22px; }
.signature > a { font-size: clamp(72px, 14vw, 212px); line-height: 1.1; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.dialog-head { min-height: 78px; }
.close-button { min-height: 44px; }
.connect-body { padding: 34px 44px 48px; }
.connect-body .purpose-label { font-size: 14px; }
.connect-body #connection-purpose { min-height: 50px; font-size: 16px; }
.connect-body h2 { margin-top: 32px; }
.connect-body input, .connect-body textarea, .connect-body select { transition: border-color .2s, background .2s; }
.connect-body input:focus-visible, .connect-body select:focus-visible, .connect-body textarea:focus-visible { outline: 1px solid #080808; outline-offset: 4px; }
.connect-body input { min-height: 50px; }
.connect-body textarea { min-height: 140px; }
.form-submit { min-height: 56px; }
.archive-heading { padding-block: 18px; }
.archive-toolbar { position: sticky; top: 78px; z-index: 1; background: #fff; }
.archive-item-copy strong { font-size: 18px; }
.menu-body nav > a { padding-block: 16px; }
.menu-body nav > a > span.menu-word { margin-left: 0; font-size: clamp(44px, 7.3vw, 104px); }
.menu-body nav > a:hover > span.menu-word { transform: none; }
.menu-body nav > a:focus-visible { outline-offset: -4px; }
.js-reveals .career-proof > div:nth-child(2), .js-reveals .about-chapters article:nth-child(2) { transition-delay: 70ms; }
.js-reveals .career-proof > div:nth-child(3), .js-reveals .about-chapters article:nth-child(3) { transition-delay: 140ms; }
.js-reveals .career-proof > div:nth-child(4) { transition-delay: 210ms; }
.motion-paused .expression-artwork { transform: none !important; }
.motion-paused *, .motion-paused *:before, .motion-paused *:after { animation: none !important; transition: none !important; }
@keyframes scroll-cue { 0%, 100% { transform: translateY(-7px); opacity: .7; } 50% { transform: translateY(7px); opacity: 1; } }

@media (max-width: 1100px) {
  .identity > span { display: none; }
  .site-header .chapter-nav { gap: 26px; }
  .header-actions { gap: 22px; }
  .expression-label { gap: 4px 12px; }
  .expression-choices > button { gap: 12px; padding-inline: 18px; }
  .career-proof > div { padding-inline: 18px; }
  .career-proof strong > span { font-size: 12px; margin-left: 5px; }
  .venture-track[data-layout=index] .venture-meta { grid-template-columns: 26px 1fr 24px; gap: 20px; }
  .venture-category { display: none; }
  .art-dialog .art-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 28px; padding-inline: 28px; }
  .art-layout .art-copy h2 { font-size: 28px; }
}
@media (max-width: 760px) {
  :root { --studio-gutter: 22px; }
  html { scroll-padding-top: 120px; }
  .site-header.page-width, .site-header.is-past-opening { height: 108px; align-items: flex-start; padding-top: 15px; }
  .identity { padding-top: 8px; }
  .header-actions { margin-left: auto; gap: 22px; }
  .header-actions > button { min-height: 36px; }
  .site-header .chapter-nav { position: absolute; bottom: 2px; left: var(--studio-gutter); right: var(--studio-gutter); margin: 0; justify-content: space-between; gap: 20px; font-size: 14px; }
  .opening { height: 120svh; min-height: 650px; }
  .opening-sticky { min-height: 540px; }
  .opening-topline { top: 136px !important; font-size: 16px; }
  .opening-topline > span:last-child { font-size: 12px; }
  .opening-name { font-size: clamp(74px, 21vw, 155px); bottom: 115px; gap: 6px; }
  .opening-bottom { bottom: 55px; }
  .opening-asset-note { font-size: 12px; bottom: 20px; }
  .introduction { display: grid; grid-template-columns: 1fr; gap: 25px; padding-block: 48px 58px; }
  .intro-index { padding: 0; font-size: 12px; }
  .introduction > p { font-size: clamp(23px, 5.8vw, 36px); }
  .introduction > a { justify-self: start; }
  .practice-strip { padding-bottom: 44px; }
  #practice-track { font-size: 17vw; }
  .work-experience { padding-top: 16px; }
  .expression-heading { display: block; margin-bottom: 32px; }
  .expression-heading > p { font-size: clamp(42px, 10.5vw, 72px); }
  .expression-heading > span { display: block; margin-top: 24px; font-size: 16px; }
  .expression-layout { gap: 22px; }
  .expression-choices > button { padding: 16px 10px; }
  .expression-number { display: none; }
  .expression-label { display: block; font-size: clamp(25px, 6vw, 37px); }
  .expression-label small { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; }
  .expression-visual { height: auto; aspect-ratio: .96; }
  .expression-artwork > img { padding: 7%; }
  .expression-paper { padding: 26px; }
  .paper-word { font-size: 18vw; }
  .paper-note { font-size: 16px; }
  .expression-open-hint { right: 14px; bottom: 14px; min-height: 44px; padding: 10px 14px; }
  .expression-caption { padding-block: 18px; align-items: flex-end; }
  .expression-caption > div { display: block; }
  .expression-caption h3 { font-size: 24px; margin-top: 8px; }
  .expression-edition { font-size: 12px; }
  .expression-note { max-width: 155px; }
  .expression-next { gap: 16px; padding-top: 12px; }
  .expression-next > a { font-size: 14px; }
  .about-layout { grid-template-columns: 1fr; gap: 38px; }
  .personal-name > span { font-size: 22vw; margin-top: 20px; }
  .personal-name > span br { display: none; }
  .personal-name > span em { padding-left: .1em; }
  .about-roles { font-size: 14px; margin-top: 22px; }
  .biography .biography-lead { font-size: clamp(27px, 6.4vw, 36px); margin-bottom: 28px; }
  .career-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 40px 0 36px; }
  .career-proof > div { padding: 25px 14px; }
  .career-proof > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .career-proof > div:nth-child(n+3) { border-top: 1px solid var(--studio-hairline); }
  .career-proof strong { font-size: clamp(31px, 8vw, 52px); }
  .career-proof strong > span { font-size: 12px; }
  .career-proof p { font-size: 12px; }
  .about-chapters { grid-template-columns: 1fr; gap: 28px; }
  .about-chapters article { padding-bottom: 28px; border-bottom: 1px solid var(--studio-hairline); }
  .about-chapters h3 { font-size: 22px; margin-block: 12px; }
  .about-chapters p { font-size: 16px; }
  .about-invitation { margin-top: 20px; }
  .ventures-intro { grid-template-columns: 1fr; gap: 28px; margin-bottom: 28px; }
  .ventures-title { font-size: clamp(52px, 12vw, 82px); }
  .ventures-title em { display: inline; }
  .ventures-description { justify-self: start; }
  .ventures-toolbar { font-size: 13px; }
  .venture-track[data-layout=index] .venture-open { grid-template-columns: 70px 1fr; gap: 20px; padding-block: 23px; }
  .venture-track[data-layout=index] .venture-meta { grid-template-columns: 1fr 18px; gap: 10px; }
  .venture-track[data-layout=index] .venture-number { display: none; }
  .venture-track[data-layout=index] .venture-name strong { font-size: 23px; }
  .venture-track[data-layout=index] .venture-name small { font-size: 14px; line-height: 1.75; }
  .venture-track[data-layout=index] .venture-cover { aspect-ratio: .95; }
  .venture-track[data-layout=index] .venture-wordmark { font-size: 18px; }
  .venture-track[data-layout=index] .cover-alma .venture-wordmark { font-size: 36px; }
  .venture-track[data-layout=index] .cover-jasper-charlotte .venture-wordmark { font-size: 12px; }
  .venture-track[data-layout=index] .cover-time-off-club .venture-wordmark { font-size: 16px; }
  .venture-track[data-layout=index] .venture-arrow { font-size: 24px; }
  .venture-bottom > p { max-width: none; }
  .correspondence { padding-top: 62px; }
  .correspondence-grid { grid-template-columns: 1fr; gap: 20px; }
  .correspondence-heading { position: static; padding-bottom: 22px; }
  .correspondence-title { font-size: clamp(64px, 15vw, 106px); }
  .correspondence-intro { margin-top: 26px; }
  .connection-paths { scroll-margin-top: 120px; }
  .connection-path { grid-template-columns: 22px 1fr 20px; gap: 6px 14px; padding-block: 24px; }
  .path-title { font-size: 24px; }
  .correspondence-note { margin-top: 24px; }
  .portfolio-footer.page-width { padding: 45px var(--studio-gutter) 26px; }
  .signature > a { font-size: 16vw; }
  .signature > span { font-size: 14px; }
  .footer-links { gap: 12px; }
  .footer-links > div { flex-wrap: wrap; gap: 8px 24px; }
  .connect-body { padding: 24px 24px 36px; }
  .connect-body h2 { font-size: 30px; }
  .art-dialog .art-layout { grid-template-columns: 1fr; gap: 16px; padding: 18px 18px 40px; }
  .art-dialog .art-layout #art-visual { height: 55svh; min-height: 260px; padding: 16px; }
  .art-dialog .art-layout .art-copy { position: static; margin-top: 8px; padding-inline: 4px; }
  .art-viewer-toolbar { padding-inline: 16px; }
  .art-layout .art-copy p { font-size: 16px; }
  .art-collaborate { margin-top: 24px; }
  .archive-heading { padding-block: 0; }
  .archive-toolbar { top: 78px; }
  .menu-body { padding: 24px var(--studio-gutter) 32px; }
  .menu-body nav > a { gap: 18px; }
  .menu-word { gap: 20px; }
  .menu-body nav > a > span.menu-word { font-size: 12vw; }
  .menu-word em { font-size: 14px; }
}
@media (max-width: 380px) {
  :root { --studio-gutter: 18px; }
  .header-actions { gap: 16px; }
  .expression-choices > button { padding-inline: 8px; }
  .expression-label { font-size: 24px; }
  .venture-track[data-layout=index] .venture-open { gap: 14px; grid-template-columns: 58px 1fr; }
  .venture-track[data-layout=index] .venture-name strong { font-size: 21px; }
  .venture-track[data-layout=index] .venture-wordmark { font-size: 15px; }
  .venture-track[data-layout=index] .cover-jasper-charlotte .venture-wordmark { font-size: 11px; }
  .path-title { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(.motion-enabled) .expression-artwork { transform: none !important; }
}

/* Actual paintings stay whole in the reading surfaces; the opening is a visual crop. */
.painting-contact-sheet { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin:24px 0 32px; }
.painting-contact-sheet button { position:relative; background:#f1f1ef; border:0; padding:12px; cursor:pointer; text-align:left; }
.painting-contact-sheet img { width:100%; height:140px; object-fit:contain; display:block; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.painting-contact-sheet span { display:block; margin-top:10px; font-size:12px; }
.painting-contact-sheet button:hover img { transform:translateY(-5px); }
.painting-contact-sheet button:focus-visible { outline:2px solid #080808; outline-offset:4px; }
.expression-artwork[data-expression-panel=painting] img { object-fit:contain; }
.acting-channel-card { display:flex; width:100%; height:100%; min-height:420px; background:#101010; color:#fff; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:clamp(28px,5vw,72px); text-align:left; }
.acting-channel-card > span,.acting-channel-card small { font-size:13px; letter-spacing:.06em; }
.acting-channel-card strong { font-size:clamp(32px,4vw,64px); line-height:1.4; font-weight:400; }
.hero-painting { opacity:0; animation:none; }
.hero-painting-1 { opacity:1; }
.motion-enabled:not(.hero-settled) .hero-painting-1 { animation:hero-first 7s both; }
.motion-enabled:not(.hero-settled) .hero-painting-2 { animation:hero-second 7s both; }
.motion-enabled:not(.hero-settled) .hero-painting-3 { animation:hero-third 7s both; }
.hero-settled .hero-painting-1 { opacity:0; }
.hero-settled .hero-painting-3 { opacity:1; }
.hero-finish { position:absolute; z-index:5; right:32px; bottom:70px; background:#080808; color:white; padding:12px 16px; border:1px solid #888; font-size:13px; cursor:pointer; }
.hero-finish[hidden] { display:none; }
@keyframes hero-first {0%,27%{opacity:1} 34%,100%{opacity:0}}
@keyframes hero-second {0%,27%{opacity:0;transform:scale(1.025)} 34%,60%{opacity:1} 67%,100%{opacity:0;transform:scale(1)}}
@keyframes hero-third {0%,60%{opacity:0;transform:scale(1.025)} 67%,100%{opacity:1;transform:scale(1)}}
.venture-card { position:relative; }
.venture-index-social { display:block; width:max-content; padding:10px 0; margin:0 0 12px auto; font-size:13px; text-underline-offset:5px; }
.expression-heading > p { font-size:clamp(40px,5vw,76px); line-height:1.3; }
.motion-paused .painting-contact-sheet img { transition:none; }
.archive-item [hidden] { display:none; }
@media(max-width:700px){.painting-contact-sheet{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.painting-contact-sheet img{height:95px}.acting-channel-card{min-height:300px}.hero-finish{right:18px;bottom:85px}.venture-index-social{margin-right:22px}}
@media(prefers-reduced-motion:reduce){.hero-painting{animation:none!important}.hero-painting-1{opacity:0}.hero-painting-3{opacity:1}.painting-contact-sheet img{transition:none}}

.profile-overview{display:grid;grid-template-columns:minmax(180px,260px) 1fr;align-items:center;gap:clamp(28px,5vw,80px);margin:40px 0 60px}.profile-portrait{margin:0}.profile-portrait img{width:100%;height:auto;display:block}.profile-overview .brand-intro{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin:0}.profile-overview .brand-intro>p{font-size:clamp(36px,5vw,72px)}@media(max-width:700px){.profile-overview{grid-template-columns:1fr}.profile-portrait{max-width:200px}}
