/* finesse · register=brand · A=reference · B=original-grotesk · C=original-composition
 * D=original-WebGL-GSAP · E=reference · SOUL=8 SPECTACLE=8 DENSITY=5 */
html, body { overflow-x: clip; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
/* Personal content: keep original modules, animated lines and button styling. */
.about_statement.u-text-center.u-text-large.about-statement-zh { font-size:clamp(26px,8vw,112px); line-height:1.2; letter-spacing:-.025em; font-weight:700; }
.about-statement-zh .u-text-accent { white-space:nowrap; }
.about-statement-zh br { display:initial !important; }
.quote_layout .quote-statement-zh { font-size:clamp(25px,7.6vw,112px); line-height:1.3; letter-spacing:-.025em; font-weight:700; text-align:center; }
.quote-statement-zh br { display:initial !important; }
.quote-statement-zh em { white-space:nowrap; }
.portfolio-books .section_title-1 { color:var(--color-text); rotate:-2deg; }
.portfolio-books .section_title-2 { color:var(--color-accent); }
.portfolio-books .section_title h3 { font-size:clamp(28px,5vw,70px); line-height:1.3; }
.quote-meta-zh { font-style:italic; font-weight:700; text-align:center; }
.quote-meta-zh .quote_author,.quote-meta-zh .quote_where { color:var(--color-light, #f7f9ef); }
.personal-statement { font-family: inherit; font-size: clamp(2rem, 5.9vw, 6.2rem); line-height: 1.3; }
.row.personal-info { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--grid-gutter); width:72vw; max-width:1800px; margin-inline:auto; padding-inline:clamp(16px,2.85vw,72px); box-sizing:border-box; }
.personal-info > * { grid-column:1 / -1; }
.experience-section .news_layout { width:72vw; max-width:1800px; margin-inline:auto; }
.experience-section .row.is-news { display:block; width:100%; margin-inline:0; padding-inline:clamp(16px,2.85vw,72px); box-sizing:border-box; }
.experience-section .row.is-news > .subgrid { width:100%; margin-inline:0; }
.personal-info-columns { display: grid; grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); gap: clamp(24px,5vw,72px); }
.personal-info h3 { font-size: clamp(20px,2vw,28px); margin: 0 0 26px; font-weight: 700; }
.personal-info dl { display: grid; grid-template-columns: 4em minmax(0,1fr); gap: 20px 22px; margin: 0; }
.personal-info dt,.personal-info dd { margin:0; font-size:clamp(16px,1.55vw,21px); line-height:1.65; }
.personal-info dd { overflow-wrap:anywhere; }
.personal-education p { font-size:clamp(16px,1.5vw,20px); line-height:1.7; }
.personal-education h4 { font-size:clamp(17px,1.7vw,23px); line-height:1.6; font-weight:700; }
.education-entry + .education-entry { margin-top:30px; }
.personal-resume { display:flex; justify-content:center; margin-top:42px; }
.personal-resume .button { width:220px; min-height:60px; font-size:22px; }
.experience-section .section_title h3 { font-size:clamp(28px,5vw,70px); line-height:1.3; }
.experience-section .subgrid { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0,1.25fr) minmax(0,2.2fr); gap:clamp(18px,2.5vw,40px); }
.experience-section .subgrid > div { grid-column:auto; min-width:0; }
.experience-section .subgrid p { font-size:clamp(16px,1.35vw,20px); line-height:1.8; overflow-wrap:anywhere; }
.experience-section .subgrid .u-text-tag-title { font-size:clamp(17px,1.6vw,23px); line-height:1.55; }
.experience-section .subgrid > div:nth-child(2) > .u-text-tag-title { font-weight:700; }
.experience-section .experience-role { margin-top:6px; }
.experience-section .news_item > .spacer { height:clamp(28px,3.4vw,50px); }
@media(max-width:767px) {
 .row.personal-info,.experience-section .news_layout { width:100%; }
 .row.personal-info,.experience-section .row.is-news { padding-inline:8px; }
 .personal-info-columns { grid-template-columns:minmax(0,1fr); gap:28px; }
 .personal-divider { height:1px; }
 .personal-divider .separator { width:100%; height:1px; }
 .personal-info dl { grid-template-columns:3em minmax(0,1fr); gap:16px; }
 .personal-info h3 { margin-bottom:18px; }
 .experience-section .subgrid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .experience-section .subgrid .is-mobile-reverse { display:block; }
 .experience-section .section_title h3 { font-size:clamp(27px,7.2vw,48px); }
 .personal-statement { font-size:clamp(26px,6.6vw,50px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Kitchen project detail: retain original scene and button motion. */
.kitchen-detail .book_wrap { padding-inline:clamp(24px,4.5vw,100px); }
.kitchen-detail .book_detail_layout { width:50%; }
.kitchen-detail .book_detail_wrap { align-items:stretch; gap:0; }
.kitchen-detail .book_detail_meta { max-width:none; align-items:stretch; gap:clamp(20px,2.3vw,36px); padding:0; }
.kitchen-detail .kitchen-eyebrow { color:#a9b6ef; font-size:clamp(16px,1.7vw,26px); line-height:1.5; margin:0; }
.kitchen-detail .book_detail_title { font-size:clamp(36px,5.5vw,88px); line-height:1.12; font-weight:700; letter-spacing:-.025em; text-align:left; }
.kitchen-detail .book_detail_title br { display:initial!important; }
.kitchen-detail .book_detail_data { padding:0; border:0; }
.kitchen-detail .book_detail_description { font-size:clamp(16px,1.7vw,25px); line-height:1.7; letter-spacing:.015em; margin:0; }
.kitchen-benefits { display:flex; justify-content:space-between; padding:0; margin:clamp(24px,3vw,44px) 0 0; list-style:none; color:#a9b6ef; font-size:clamp(14px,1.65vw,24px); line-height:1.6; }
.kitchen-benefits li { flex:1; white-space:nowrap; text-align:center; }
.kitchen-benefits li:first-child { text-align:left; }
.kitchen-benefits li:last-child { text-align:right; }
.kitchen-benefits li+li { border-left:1px solid #8995bf; }
.kitchen-action { margin-top:clamp(24px,2.5vw,40px); padding-top:clamp(24px,2.5vw,40px); border-top:1px solid #8995bf; }
.kitchen-detail .buy_cta { justify-content:flex-start; }
.kitchen-project-link { font-size:clamp(18px,1.7vw,25px); min-height:64px; padding-inline:clamp(28px,4vw,60px); }
.kitchen-project-link .button_label { display:flex; gap:.6em; align-items:center; }
.kitchen-caption { margin:16px 0 0; color:#a9b6ef; font-size:clamp(13px,1.2vw,18px); line-height:1.6; }
@media(max-width:991px) {
 .kitchen-detail .book_detail_layout { width:100%; padding-top:54svh; }
 .kitchen-detail .book_detail_title { font-size:clamp(36px,8vw,64px); }
 .kitchen-detail .book_detail_description { font-size:18px; }
 .kitchen-detail .kitchen-benefits { font-size:clamp(12px,3.5vw,21px); }
 .kitchen-detail .book_wrap { padding-inline:clamp(24px,6vw,54px); }
 .kitchen-detail .book_detail_meta { gap:24px; }
 .kitchen-detail .kitchen-action { margin-bottom:40px; }
}

.kitchen-detail .kitchen-benefits li { list-style:none; font-size:inherit; margin:0; padding-block:0; padding-inline:8px; }
.kitchen-detail .kitchen-benefits li:first-child { padding-left:0; }
.kitchen-detail .kitchen-benefits li:last-child { padding-right:0; }
.kitchen-detail .kitchen-benefits li::before { display:none; }
.kitchen-detail .kitchen-project-link { --button-radius:999px; font-weight:700; }

/* Duodian project detail: retain original scene and button motion. */
.duodian-detail .book_wrap { padding-inline:clamp(24px,4.5vw,100px); }
.duodian-detail .book_detail_layout { width:50%; }
.duodian-detail .book_detail_wrap { align-items:stretch; gap:0; }
.duodian-detail .book_detail_meta { max-width:none; align-items:stretch; gap:clamp(20px,2.3vw,36px); padding:0; }
.duodian-detail .duodian-eyebrow { color:#c6a9ee; font-size:clamp(16px,1.7vw,26px); line-height:1.5; margin:0; }
.duodian-detail .book_detail_title { font-size:clamp(36px,5.5vw,88px); line-height:1.12; font-weight:700; letter-spacing:-.025em; text-align:left; }
.duodian-detail .book_detail_title br { display:initial!important; }
.duodian-detail .book_detail_data { padding:0; border:0; }
.duodian-detail .book_detail_description { font-size:clamp(16px,1.7vw,25px); line-height:1.7; letter-spacing:.015em; margin:0; }
.duodian-benefits { display:flex; justify-content:space-between; padding:0; margin:clamp(24px,3vw,44px) 0 0; list-style:none; color:#c6a9ee; font-size:clamp(14px,1.65vw,24px); line-height:1.6; }
.duodian-benefits li { flex:1; white-space:nowrap; text-align:center; }
.duodian-benefits li:first-child { text-align:left; }
.duodian-benefits li:last-child { text-align:right; }
.duodian-benefits li+li { border-left:1px solid #8995bf; }
.duodian-action { margin-top:clamp(24px,2.5vw,40px); padding-top:clamp(24px,2.5vw,40px); border-top:1px solid #8995bf; }
.duodian-detail .buy_cta { justify-content:flex-start; }
.duodian-project-link { font-size:clamp(18px,1.7vw,25px); min-height:64px; padding-inline:clamp(28px,4vw,60px); }
.duodian-project-link .button_label { display:flex; gap:.6em; align-items:center; }
.duodian-caption { margin:16px 0 0; color:#c6a9ee; font-size:clamp(13px,1.2vw,18px); line-height:1.6; }
@media(max-width:991px) {
 .duodian-detail .book_detail_layout { width:100%; padding-top:54svh; }
 .duodian-detail .book_detail_title { font-size:clamp(36px,8vw,64px); }
 .duodian-detail .book_detail_description { font-size:18px; }
 .duodian-detail .duodian-benefits { font-size:clamp(12px,3.5vw,21px); }
 .duodian-detail .book_wrap { padding-inline:clamp(24px,6vw,54px); }
 .duodian-detail .book_detail_meta { gap:24px; }
 .duodian-detail .duodian-action { margin-bottom:40px; }
}

.duodian-detail .duodian-benefits li { list-style:none; font-size:inherit; margin:0; padding-block:0; padding-inline:8px; }
.duodian-detail .duodian-benefits li:first-child { padding-left:0; }
.duodian-detail .duodian-benefits li:last-child { padding-right:0; }
.duodian-detail .duodian-benefits li::before { display:none; }
.duodian-detail .duodian-project-link { --button-radius:999px; font-weight:700; }

/* Continuous charcoal ending on the home page only. */
.home-media-end, .home-footer-end { background-color:var(--color-dark); }
.home-media-tear { pointer-events:none; }
.home-footer-end { --color-text-muted:#a8abc0; }

/* Work experience: keep the original row effects, scope layout to /shows. */
.career-shows .show_item_inner{grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);padding:clamp(28px,3vw,44px) clamp(16px,2vw,28px);font-size:clamp(18px,1.7vw,26px);line-height:1.55}
.career-shows .show_item_inner>div{min-width:0;width:auto;margin:0;white-space:normal}
.career-shows .career_date{color:var(--color-accent);white-space:nowrap!important;letter-spacing:-.04em}
.career-shows .career_company{color:var(--color-surface);font-weight:600}
.career-shows .career_role{color:#c9cbd2;transition:color .5s}
html.desktop .career-shows .show_item:hover .career_role{color:var(--color-primary)}
@media(max-width:991px){
 .career-shows .show_item_wrap{outline:none;border-radius:0;overflow:visible}
 .career-shows .show_item_inner{grid-template-columns:1fr;gap:8px;padding:28px 16px;font-size:20px}
 .career-shows .career_date{font-size:18px;margin-bottom:4px}
 .career-shows .career_role{font-size:18px}
}

.career-shows .career-resume{margin-top:clamp(36px,4vw,64px);padding:0 16px 16px}
.career-shows .career-resume .button{max-width:100%;white-space:nowrap}
@media(max-width:991px){.career-shows .career-resume{padding-bottom:clamp(120px,20svh,200px)}}

/* Shared personal content, contained within the existing shows column. */
.shows-personal-info{width:100%;padding-inline:clamp(16px,2vw,28px);box-sizing:border-box}
.shows-personal-info .personal-divider .separator{height:100%;width:1px}
.shows-info-gap{height:clamp(80px,8vw,128px)}
.career-shows .career-resume{margin-top:clamp(64px,7vw,104px)}
@media(max-width:767px){.shows-personal-info .personal-divider .separator{width:100%;height:1px}}
@media(max-width:767px){.shows-info-gap{height:160px}}

.shows-career-intro{padding:clamp(96px,10vw,160px) 16px;text-align:center}
.shows-career-intro .section_title h3{font-size:clamp(36px,5vw,72px);line-height:1.3}
@media(max-width:767px){
 .shows-career-intro{padding:80px 16px 140px}
 .shows-career-intro .section_title h3{font-size:clamp(28px,7vw,48px)}
}

.home-about-details{display:flex;justify-content:center;position:relative;padding:clamp(48px,6vw,96px) 24px}
.home-about-details .button{max-width:100%;white-space:nowrap}

/* Keep both hero title planes around the microphone; fit the longer label. */
[data-gl-title-variant="shows"] .hero_title_wrap.is-1,
[data-gl-title-variant="shows"] .hero_title_wrap.is-2 { width: 78%; }
@media (max-width: 767px) {
  [data-gl-title-variant="shows"] .hero_title_wrap.is-1,
  [data-gl-title-variant="shows"] .hero_title_wrap.is-2 { width: 92%; }
}

/* Independent transparent career stickers; original hover transitions are inherited. */
.career-shows .career-sticker-head{width:14cqi;height:auto;aspect-ratio:auto;object-fit:contain;top:-11.8cqi;left:50%;right:auto;pointer-events:none}
.career-shows .career-sticker-hand{width:auto;height:11cqi;aspect-ratio:auto;object-fit:contain;top:-2.8cqi;margin:0;z-index:-1;pointer-events:none}
.career-shows .show_item_wrap:nth-child(1) .career-sticker-left{left:-5%;right:auto}
.career-shows .show_item_wrap:nth-child(1) .career-sticker-right{right:-5%;left:auto}
/* Fists grip the upper edge, in front of the white bar. */
.career-shows .show_item_wrap:nth-child(2) .career-sticker-hand{width:8.5cqi;height:auto;top:-2.8cqi;z-index:1}
.career-shows .show_item_wrap:nth-child(2) .career-sticker-left{left:19%;right:auto}
.career-shows .show_item_wrap:nth-child(2) .career-sticker-right{right:19%;left:auto}
/* Claws and pointing hands emerge above the bar; wrists stay behind it. */
.career-shows .show_item_wrap:nth-child(3) .career-sticker-hand{height:10cqi;top:-8.3cqi}
.career-shows .show_item_wrap:nth-child(3) .career-sticker-left{left:17%;right:auto}
.career-shows .show_item_wrap:nth-child(3) .career-sticker-right{right:17%;left:auto}
.career-shows .show_item_wrap:nth-child(4) .career-sticker-hand{height:10cqi;top:-8.3cqi}
.career-shows .show_item_wrap:nth-child(4) .career-sticker-left{left:19%;right:auto}
.career-shows .show_item_wrap:nth-child(4) .career-sticker-right{right:19%;left:auto}

/* Hometown heading keeps the existing scroll-driven tilt. */
.hometown-title-white{transform:rotate(calc(-3deg - 2deg * var(--progress,0)))}
/* Footer: retain the original interactions and use independent transparent stickers. */
footer .footer_head .peel_content{background-image:url('/stickers/footer/about-1.png');background-size:contain;background-repeat:no-repeat;aspect-ratio:1;width:90%}
footer .menu_item_bg,footer .footer_head{pointer-events:none}
footer .menu_media{width:24%;right:2%}
/* Menu overlay reuses the three footer sticker assets and its existing reveal/hover engine. */
.menu_wrap .menu_head .peel_content{background-image:url('/stickers/footer/about-1.png');background-size:contain;background-repeat:no-repeat;aspect-ratio:1;width:90%}
.menu_wrap .menu_item_bg,.menu_wrap .menu_head{pointer-events:none}
.menu_wrap .menu_media{width:24%;right:2%}
@media (min-width:992px){
  .menu_wrap .menu_list_wrap{padding-bottom:clamp(100px,20vh,180px)}
  .menu_wrap .menu_media{width:22%;right:-1%}
}

/* Narrow layouts use the same personal content as desktop. */
@media(max-width:991px){
 .shows-career-intro{padding-bottom:36px!important}
 .career-shows .career-mobile-preview{display:block;position:relative;width:min(100%,600px);height:clamp(150px,25vw,220px);margin:0 auto;isolation:isolate}
 .career-mobile-preview img{position:absolute;object-fit:contain;pointer-events:none}
 .career-mobile-preview .career-mobile-head{height:95%;width:auto;bottom:0;left:50%;transform:translateX(-50%)}
 .career-mobile-preview .career-mobile-left,.career-mobile-preview .career-mobile-right{width:clamp(70px,13vw,105px);height:auto;bottom:-24px;z-index:2}
 .career-mobile-preview .career-mobile-left{left:8%}.career-mobile-preview .career-mobile-right{right:8%}
 .career-shows .show_item_wrap:first-child .show_item_inner{padding-top:44px}
 .books_title_wrap .book_detail_title{font-size:clamp(28px,5vw,54px);line-height:1.25;overflow-wrap:anywhere}
 .books_title_wrap .button_label{font-size:clamp(16px,2.5vw,23px)}
}
@media(min-width:992px){.career-mobile-preview{display:none}}
