/* LIU YIHANG — rebuilt from measured reference layout. */
@font-face{font-family:SpaceCN;src:url('./assets/fonts/display-cn.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:SpaceLatin;src:url('./assets/fonts/display-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Chrontor;src:url('./assets/fonts/chrontor.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--bg:#080809;--ink:#f0efeb;--muted:#a4a3ad;--purple:#a17bff;--acid:#c8ff37;--line:#ffffff32;--gutter:clamp(24px,2.78vw,60px);--ease:cubic-bezier(.16,1,.3,1);--display:Chrontor,SpaceCN,'Microsoft YaHei',sans-serif;color:var(--ink);background:var(--bg);font-family:Arial,'Microsoft YaHei','PingFang SC',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--acid);outline-offset:6px}h1,h2,h3,p{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{font-weight:400}::selection{background:var(--purple);color:var(--bg)}.section-pad{padding-inline:var(--gutter)}.muted{color:var(--muted)}.eyebrow{font-family:SpaceLatin,sans-serif;font-size:12px;letter-spacing:.06em}.skip-link{position:fixed;top:-100px;left:20px;padding:16px;background:var(--acid);color:var(--bg);z-index:100}.skip-link:focus{top:15px}
/* The header floats over every scene, without a separate opaque navigation bar. */
.site-header{position:fixed;z-index:40;inset:0 0 auto;height:80px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;mix-blend-mode:difference;color:#fff}
.site-header>a,.site-header>button{pointer-events:auto}.brand{display:block}.brand svg{display:block;width:130px;height:46px;fill:none;stroke:currentColor;stroke-width:2.2}.brand>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.menu-toggle{width:46px;height:46px;display:flex;flex-direction:column;justify-content:center;gap:13px}.menu-toggle span{width:100%;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}.menu-toggle:hover span:first-child{transform:translateX(-5px)}.menu-toggle:hover span:last-child{transform:translateX(5px)}
.world{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#09090d;pointer-events:none}#fluid-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}.fluid-ready #fluid-canvas{opacity:1}.bubble-fallback{position:absolute;left:19%;top:18%;width:65%;height:72%;border-radius:43% 57% 61% 39% / 42% 42% 58% 58%;background:radial-gradient(ellipse at 30% 23%,#fff9,transparent 14%),radial-gradient(ellipse at 65% 70%,#5926a9,#302753 57%,#8aab42 94%);box-shadow:inset 0 0 5px #c8ff37,inset 0 0 32px #c8ff3755;transform:rotate(-15deg)}.fluid-ready .bubble-fallback{visibility:hidden}.world-shade{position:absolute;inset:0;background:linear-gradient(0deg,#080809aa,transparent 45%)}.world-light{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 24%,#955bff0a,transparent 60%)}
.hero{position:relative;height:100svh;min-height:600px;padding:var(--gutter)}.hero h1{position:absolute;left:var(--gutter);bottom:145px;white-space:nowrap;font:400 clamp(62px,8.1vw,155px)/1.1 var(--display);letter-spacing:.01em;color:#f0efebae;transform:skewX(-9deg);will-change:transform}.hero h1 em{font-style:normal;color:#e8deffb8}.hero-caption{position:absolute;left:var(--gutter);right:var(--gutter);bottom:50px;padding:0 0 14px;border-bottom:1px solid #ffffff4d;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;color:#dedbe0a6;font-size:13px}.hero-name-cn{margin-left:5px}.scroll-link{justify-self:center;min-height:36px;display:flex;align-items:center}.hero-caption-end{justify-self:end;font:12px SpaceLatin,sans-serif;letter-spacing:.08em}
.outline-button{display:inline-flex;min-height:50px;align-items:center;border:1px solid #ffffff88;font-size:15px;padding-left:23px;background:#080809a6;gap:23px;transition:background .4s,color .4s,border-color .4s}.outline-button>span{align-self:stretch;display:grid;place-items:center;min-width:50px;border-left:1px solid #ffffff88;font-size:22px}.outline-button:hover{background:var(--acid);border-color:var(--acid);color:var(--bg)}
/* About occupies the second scene over the fading hero environment. */
.introduction{position:relative;padding-top:clamp(240px,43vh,500px);padding-bottom:130px;background:linear-gradient(180deg,transparent,#080809b8 36%,var(--bg) 96%)}.intro-heading{position:relative;min-height:660px}.intro-heading h2{font:400 clamp(52px,6.12vw,104px)/1.1 var(--display);color:var(--acid)}.intro-image{position:absolute;z-index:0;top:130px;left:5%;width:52%;height:540px;mask-image:linear-gradient(0deg,transparent,#0009 25%,#0008 65%,transparent);opacity:.36;pointer-events:none}.intro-image img{filter:grayscale(1) brightness(.6);object-position:60% 45%}.intro-copy{position:relative;margin:40px 0 0 48.5%;max-width:680px;font-size:clamp(20px,1.67vw,28px);line-height:1.75}.intro-copy p+p{margin-top:32px}.intro-copy .muted{margin-top:40px}
/* Each chapter has the same viewport-sized, centered title plane. */
.chapter{position:relative;isolation:isolate;background:var(--bg)}.chapter-screen{position:sticky;top:0;z-index:0;height:100svh;min-height:620px;padding:60px var(--gutter) 100px;display:flex;justify-content:center;align-items:center;pointer-events:none}.chapter-screen h2{font:400 clamp(72px,10.97vw,210px)/1.12 var(--display);letter-spacing:.035em;color:var(--acid);text-align:center;white-space:nowrap}.chapter-screen>.motion-window,.chapter-screen>.section-heading{width:100%;transform-origin:center;will-change:transform,opacity,filter}.motion-window{overflow:hidden;padding:.06em 0 .1em;perspective:1200px}.motion-window>[data-reveal]{transition:transform .8s var(--ease);transform-origin:50% 100%}.motion-window>.reveal-pending{transform:translateY(115%) rotateX(16deg)}.chapter-foreground{position:relative;z-index:1;background:var(--bg)}
.archive-body{padding:100px clamp(30px,7.64vw,150px) 300px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,5.8vw,100px);row-gap:75px}.archive-card{min-width:0;text-align:left;display:flex;flex-direction:column}.archive-visual{aspect-ratio:1/1;overflow:hidden;background:#161519}.archive-visual img{transition:transform .9s var(--ease);filter:saturate(.65)}.archive-card:hover img{transform:scale(1.055)}.archive-card h3{font-size:22px;line-height:1.4;margin:25px 0 19px;display:flex;justify-content:space-between;gap:10px}.archive-card h3>span{font-weight:300}.archive-card p{font-size:15px;color:#bcb8c3;line-height:1.65;margin-bottom:24px}.archive-link{display:block;text-align:center;width:100%;padding:13px 16px;font-size:13px;background:var(--acid);color:#12140d;margin-top:auto;transition:background .4s}.archive-card:nth-child(even) .archive-link{background:var(--purple)}.preview-note{font-size:12px;line-height:1.8;color:#797681;margin-top:55px}.archive-matter{display:grid;place-items:center;background:radial-gradient(circle at 50% 70%,#453061,transparent 65%),#111014}.archive-card:hover .mini-orbit{scale:1.055}.mini-orbit{scale:1;transition:scale .9s var(--ease);position:relative;width:70%;aspect-ratio:1;transform:rotate(-22deg)}.mini-orbit i{position:absolute;inset:15% 5%;border:22px solid #b49ecb;border-radius:50%;box-shadow:inset 6px 5px 8px #fff9,6px 12px 12px #0007;transform:rotateX(55deg)}.mini-orbit i:nth-child(2){transform:rotateY(65deg);border-color:var(--purple)}.mini-orbit i:nth-child(3){transform:rotateZ(70deg) rotateX(60deg);border-color:#a9bc7e}
/* A title behind the image. Incoming media never shares the heading's transform. */
.works-opening .section-heading{padding:0}.works-opening h2{transition:none;transform:translateY(115%) rotateX(16deg)}.is-title-visible .works-opening h2{animation:chapter-rise .75s var(--ease) both}@keyframes chapter-rise{from{transform:translateY(115%) rotateX(16deg)}to{transform:translateY(0) rotateX(0)}}
.project-stack{position:relative;z-index:1;background:var(--bg);padding:0 var(--gutter) 80px}.project{margin:0 0 60px;background:#131215}.project-open{display:block;position:relative;width:100%;text-align:left}.project-image{position:relative;height:70vh;overflow:hidden;background:#15131b}.project-image img{filter:saturate(.65)}.project-caption{padding:25px}.project-caption h3{font:400 40px/1.2 var(--display);margin:10px 0}.project-meta{font-size:14px;line-height:1.6;color:var(--muted)}.project-meta>span{display:none}.image-label{position:absolute;bottom:24px;left:24px;font:11px SpaceLatin,sans-serif;color:#eae9e0}.image-cta{position:absolute;z-index:4;bottom:15%;left:50%;transform:translateX(-50%);display:flex;align-items:center;min-height:50px;border:1px solid #eee9e0;background:#080809cf;padding-left:20px;gap:20px;font-size:14px;white-space:nowrap}.image-cta i{align-self:stretch;display:grid;place-items:center;width:50px;font-size:21px;font-style:normal;border-left:1px solid #eee9e0}.project-open:hover .image-cta{color:var(--acid);border-color:var(--acid)}.gallery-stage{display:contents}.gallery-controls{display:none}.project-stack.gallery-enhanced{height:var(--gallery-height);padding:0;background:transparent}
.gallery-enhanced .gallery-stage{position:sticky;top:0;height:var(--gallery-view);display:block;overflow:hidden;isolation:isolate;background:var(--bg);transform:scale(var(--stage-scale,1));transform-origin:50% 0}
.gallery-enhanced .project{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:calc(2 + var(--order));opacity:0;pointer-events:none;background:var(--bg)}.gallery-enhanced .project.is-current{pointer-events:auto}.gallery-enhanced .project-open,.gallery-enhanced .project-image{height:100%}.gallery-enhanced .project-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0505075e,transparent 50%,#05050738)}.gallery-enhanced .project-image img{transform:scale(var(--image-scale,1));will-change:transform}.gallery-enhanced .project-caption{position:absolute;top:clamp(95px,11vh,160px);left:12%;padding:0;pointer-events:none;opacity:var(--caption-alpha,1);max-width:76%}.gallery-enhanced .project-caption h3{font:400 clamp(54px,8.8vw,158px)/1.1 var(--display);letter-spacing:.01em;color:#f0efeb9c;margin:0}.gallery-enhanced .project-caption .eyebrow{display:none}.gallery-enhanced .project-meta{font-size:13px;color:#f0efebc2;margin-top:18px}.gallery-enhanced .image-label{left:var(--gutter);bottom:34px;opacity:var(--caption-alpha,1)}.gallery-enhanced .gallery-controls{position:absolute;right:var(--gutter);bottom:23px;z-index:12;display:flex;align-items:center;gap:14px}.gallery-controls button{width:38px;height:38px;border:1px solid #ffffff5c;background:#08080955;font-size:20px}.gallery-controls button:hover{color:var(--acid);border-color:var(--acid)}.gallery-controls button:disabled{opacity:.25;cursor:default}.gallery-count{font:12px SpaceLatin,sans-serif;letter-spacing:.05em;min-width:44px;text-align:center}.gallery-enhanced .project-open:focus-visible{outline-offset:-5px}.gallery-enhanced .project:not(.is-current) .image-cta{opacity:0}
.matter-art{display:grid;place-items:center;background:radial-gradient(ellipse at 48% 70%,#6b4b9766,transparent 50%),#121014}.art-word{position:absolute;bottom:25%;font:400 clamp(100px,20vw,340px)/1 var(--display);color:#ddd5f31a}.sculpture{position:relative;width:310px;height:290px;transform:rotate(-22deg) scale(1.45);filter:drop-shadow(20px 35px 25px #0008)}.sculpture i{position:absolute;width:220px;height:220px;border:48px solid #a7a1b8;border-radius:50%;box-shadow:inset 10px 8px 12px #fff9,inset -15px -20px 24px #302b46,10px 10px 14px #0008}.sculpture i:nth-child(1){left:0;top:0;transform:rotateX(35deg) rotateY(-24deg)}.sculpture i:nth-child(2){left:90px;top:65px;border-color:#81749f;transform:rotateY(35deg)}.sculpture i:nth-child(3){left:0;top:100px;border-color:#a7b987;transform:rotateX(30deg) rotateY(40deg)}
/* The next colored scene rises directly over the departing final work. */
.practice{position:relative;z-index:3;background:var(--purple);color:#0d0b11;padding-top:80px;padding-bottom:65px}.practice-heading{padding:0 10px 70px}.practice-heading h2{font:400 clamp(54px,6.53vw,110px)/1.15 var(--display)}.practice-heading p{font-size:18px;margin-top:20px;line-height:1.6}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-grid article{position:relative;background:#111112;color:var(--ink);min-height:212px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.practice-grid h3{font:400 clamp(24px,2.1vw,34px)/1.3 var(--display);grid-column:1/-1}.practice-grid p{grid-column:2;font-size:15px;line-height:1.65;color:#a8a5ad}.practice-grid article>span{position:absolute;bottom:28px;left:30px;font:10px SpaceLatin,sans-serif;color:#6e6a77}.practice-grid article:hover{background:#17141e}.practice-grid article:nth-child(3n+1):hover h3{color:var(--acid)}.practice-grid article:nth-child(3n+2):hover h3{color:var(--purple)}
.space{padding-top:170px}.space .chapter-screen h2{color:var(--purple)}.space-body{padding:100px 0 180px}.ticker{overflow:hidden;padding:60px 0 130px}.ticker-row{display:flex;width:max-content;line-height:1.1;will-change:transform}.ticker-group{display:flex;align-items:center;gap:65px;padding-right:65px;flex-shrink:0;white-space:nowrap}.ticker-row span{font:400 clamp(65px,8.2vw,140px)/1.1 SpaceLatin,sans-serif;letter-spacing:-.025em}.ticker-row i{font-style:normal;font-size:70px;color:var(--purple)}.ticker-row:first-child{color:var(--acid)}.ticker-row:nth-child(2){margin-top:25px;color:var(--purple)}.space-content{text-align:center}.space-content>p{font-size:24px;line-height:1.7}.portal{width:calc(100% - 60px);height:520px;position:relative;perspective:800px;margin:100px auto 55px;max-width:1300px;transform:rotate(-7deg);opacity:.7}.portal>div{position:absolute;inset:0 15%;border:1px solid #c8ff3780;transform:translateZ(calc(var(--i)*-125px));background:#a17bff02}.portal>div:nth-child(1){--i:0}.portal>div:nth-child(2){--i:1;border-color:var(--purple)}.portal>div:nth-child(3){--i:2}.portal>div:nth-child(4){--i:3;border-color:var(--purple)}.portal>div:nth-child(5){--i:4}.portal span{position:absolute;inset:48% 0 auto;font:11px SpaceLatin,sans-serif;letter-spacing:.25em;color:#b8a6d4}.space-meta{display:flex;justify-content:space-between;align-items:center;gap:25px;font:14px SpaceLatin,Arial,sans-serif;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:8px;color:var(--acid);font-size:13px}.status i{width:5px;height:5px;background:var(--acid);border-radius:50%}
/* Centered closing panel, small navigation, then oversized moving signature. */
.contact{position:relative;z-index:4;background:var(--bg);padding-top:30px}.contact-panel{position:relative;margin:0 var(--gutter);min-height:700px;padding:100px 30px 80px;background:linear-gradient(180deg,#29243b,var(--purple));text-align:center;color:#101014}.contact-panel:before,.contact-panel:after{content:'';position:absolute;bottom:40px;width:38px;height:38px;border-bottom:1px solid #111}.contact-panel:before{left:40px;border-left:1px solid #111}.contact-panel:after{right:40px;border-right:1px solid #111}.contact-monogram{display:grid;place-items:center;margin:0 auto 45px;width:150px;height:150px;background:var(--bg);border:1px solid #c8ff3755;color:var(--acid);font:400 52px var(--display);letter-spacing:-.05em}.contact-panel h2{font:400 clamp(32px,3.5vw,62px)/1.3 var(--display);color:var(--ink)}.contact-panel>p{font-size:15px;line-height:1.8;margin:23px 0}.contact-panel .outline-button{color:var(--ink);background:#080809;border-color:#080809}.contact-panel .outline-button:hover{background:var(--acid);color:var(--bg);border-color:var(--acid)}.contact-links{display:flex;align-items:center;justify-content:center;gap:45px;font:18px var(--display);margin-top:30px}.contact-links a:hover,.contact-links button:hover{color:var(--ink)}.back-top{display:grid;place-items:center;width:50px;height:65px;margin:20px auto 42px;font-size:35px;color:var(--acid)}.footer-nav{display:flex;justify-content:center;gap:27px;font-size:14px}.footer-nav a:hover,.footer-nav button:hover{color:var(--acid)}.footer-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;column-gap:25px;row-gap:8px;color:#88848f;font:12px SpaceLatin,sans-serif;margin:22px var(--gutter) 70px}.name-motion-toggle{font:12px Arial,sans-serif;padding:8px;color:#aaa4b2}.name-motion-toggle:hover{color:var(--acid)}.name-marquee{overflow:hidden;padding:0 0 30px}.name-marquee-track{display:flex;width:max-content}.name-marquee-group{display:flex;flex-shrink:0;align-items:center;gap:4vw;padding-right:4vw;white-space:nowrap;font:400 6.8vw/1.12 var(--display);letter-spacing:-.04em}.name-marquee.is-looping .name-marquee-group{font-size:clamp(110px,16.5vw,300px)}.name-marquee.is-looping .name-marquee-track{will-change:transform}.name-marquee-cn{color:var(--acid)}.name-marquee-divider{color:var(--purple);font-size:.65em}
/* Existing, keyboard-accessible content dialogs. */
dialog{border:0;padding:0;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;color:var(--ink);background:#101012;overscroll-behavior:contain}dialog::backdrop{background:#080809c9}.overlay-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px var(--gutter);border-bottom:1px solid var(--line);min-height:80px;font:12px SpaceLatin,sans-serif;letter-spacing:.08em}.close-button{display:flex;align-items:center;gap:20px;font-size:14px;padding:8px}.close-button span{font-size:32px;font-weight:300;line-height:1}.close-button:hover{color:var(--acid)}.menu-dialog{background:var(--purple);color:var(--bg)}.menu-dialog .overlay-top{border-color:#08080940}.menu-dialog nav{padding:60px var(--gutter);max-width:1100px;margin:auto}.menu-dialog nav>a,.menu-dialog nav>button{width:100%;display:flex;align-items:center;gap:35px;padding:18px 0;font:400 clamp(38px,5vw,80px)/1.2 var(--display);text-align:left;transition:color .3s,transform .5s var(--ease)}.menu-dialog nav>a:hover,.menu-dialog nav>button:hover{transform:translateX(15px);color:var(--ink)}.menu-dialog nav small{font:12px SpaceLatin,sans-serif}.menu-dialog nav span{font:16px SpaceLatin,sans-serif;margin-left:auto}.menu-bottom{max-width:1100px;margin:auto;padding:20px var(--gutter) 35px;font-size:14px}.detail-content{padding:60px var(--gutter);max-width:1500px;margin:auto}.detail-content>h2{font:400 clamp(50px,7vw,100px)/1.2 var(--display);margin:18px 0 40px}.detail-content>div#detail-visual{height:min(65vh,740px);min-height:280px;overflow:hidden}.detail-content .matter-art{height:100%;position:relative}.detail-notes{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw;margin-top:45px;padding-bottom:30px;font-size:19px;line-height:1.9;color:#c4bfce}.detail-notes small{font-size:13px;color:var(--muted)}.detail-notes .eyebrow{color:var(--acid)}
@media(min-width:1800px){.archive-grid{column-gap:8vw}.intro-heading{min-height:780px}.intro-copy{max-width:900px}.intro-image{height:660px}}
@media(max-width:1000px){.archive-grid{grid-template-columns:1fr 1fr;gap:60px 30px}.archive-body{padding-inline:var(--gutter)}.intro-copy{margin-left:43%;font-size:21px}.intro-image{left:0;width:65%}.chapter-screen h2{font-size:13vw}.practice-grid article{grid-template-columns:1fr;min-height:250px}.practice-grid h3,.practice-grid p{grid-column:1}.practice-grid p{padding-bottom:25px}.practice-grid article>span{font-size:9px}.gallery-enhanced .project-caption{left:var(--gutter)}.gallery-enhanced .project-caption h3{font-size:10vw}.space-meta{font-size:12px}}
@media(max-width:600px){:root{--gutter:20px}.site-header{height:80px;padding-inline:20px}.brand svg{width:105px;height:42px}.menu-toggle{width:40px}.hero{min-height:580px}.hero h1{bottom:155px;font-size:13vw;left:22px}.hero-caption{bottom:40px;font-size:11px;grid-template-columns:1fr auto;padding-bottom:12px;gap:10px}.hero-caption-end{display:none}.scroll-link{justify-self:end}.hero-name-cn{margin-left:4px}.bubble-fallback{width:110%;height:64%;left:-5%;top:15%}.introduction{padding-top:210px;padding-bottom:95px}.intro-heading{min-height:720px}.intro-heading h2{font-size:14vw}.intro-image{top:100px;left:-20px;width:90%;height:450px;opacity:.25}.intro-copy{margin:65px 0 0 13%;max-width:none;font-size:18px;line-height:1.85}.intro-copy p+p{margin-top:25px}.intro-copy .muted{margin-top:30px;font-size:16px}.outline-button{font-size:14px;min-height:48px}.chapter-screen{height:75svh;min-height:560px;padding:60px 20px 100px}.chapter-screen h2{font-size:16.5vw;letter-spacing:.01em}.archive-body{padding:55px 30px 170px}.archive-grid{grid-template-columns:1fr;gap:60px}.archive-card h3{font-size:22px;margin-top:23px}.archive-card p{font-size:15px}.archive-visual{aspect-ratio:1.15}.preview-note{font-size:11px;margin-top:35px}.gallery-enhanced .project-caption{top:85px;max-width:90%}.gallery-enhanced .project-caption h3{font-size:12vw}.gallery-enhanced .project-meta{font-size:11px;margin-top:13px}.gallery-enhanced .image-label{max-width:42%;font-size:9px;line-height:1.6;bottom:25px}.gallery-enhanced .gallery-controls{gap:7px;bottom:22px}.gallery-controls button{width:34px;height:34px}.gallery-count{font-size:10px;min-width:37px}.image-cta{bottom:17%;font-size:13px;min-height:45px;padding-left:17px;gap:17px}.image-cta i{width:45px}.sculpture{transform:rotate(-22deg) scale(.9)}.project-image{height:60vh}.project-caption h3{font-size:32px}.practice{padding-top:60px;padding-bottom:40px}.practice-heading{padding:0 0 45px}.practice-heading h2{font-size:14vw}.practice-heading p{font-size:15px;line-height:1.7;max-width:270px}.practice-grid{grid-template-columns:1fr;gap:9px}.practice-grid article{padding:26px;min-height:200px;grid-template-columns:1fr 1fr;gap:25px}.practice-grid h3{font-size:28px;grid-column:1/-1}.practice-grid p{font-size:14px;grid-column:2;padding-bottom:0;min-width:160px}.practice-grid article>span{left:26px;bottom:24px;max-width:100px;font-size:8px}.space{padding-top:100px}.space-body{padding-top:40px;padding-bottom:100px}.ticker{padding:50px 0 100px}.ticker-row span{font-size:70px}.ticker-group{gap:35px;padding-right:35px}.ticker-row i{font-size:38px}.ticker-row:nth-child(2){margin-top:18px}.space-content>p{font-size:20px;line-height:1.8}.portal{width:100%;height:300px;margin:75px auto 55px;transform:rotate(-5deg)}.portal>div{inset:0 6%}.portal span{font-size:8px;letter-spacing:.15em}.space-meta{flex-direction:column;gap:22px;font-size:12px}.status{font-size:12px}.contact{padding-top:0}.contact-panel{padding:75px 20px 70px;min-height:690px;margin:0 12px}.contact-monogram{width:120px;height:120px;font-size:44px;margin-bottom:40px}.contact-panel h2{font-size:8.5vw}.contact-panel>p{font-size:13px;max-width:250px;margin:22px auto}.contact-links{gap:24px;font-size:15px}.contact-panel:before{left:25px}.contact-panel:after{right:25px}.contact-panel:before,.contact-panel:after{width:25px;height:25px;bottom:30px}.footer-meta{font-size:10px;margin:20px 20px 60px;column-gap:15px}.name-motion-toggle{font-size:11px;min-height:44px}.name-marquee.is-looping .name-marquee-group{font-size:110px;gap:30px;padding-right:30px}.name-marquee:not(.is-looping) .name-marquee-group{font-size:6.7vw}.overlay-top{font-size:10px;letter-spacing:.03em}.close-button{gap:10px;font-size:12px}.menu-dialog nav{padding-top:65px}.menu-dialog nav>a,.menu-dialog nav>button{font-size:40px;gap:20px;padding:22px 0}.menu-dialog nav span{font-size:12px}.menu-bottom{font-size:12px}.detail-content{padding-top:35px}.detail-content>h2{font-size:48px}.detail-content>div#detail-visual{height:42vh;min-height:260px}.detail-notes{grid-template-columns:1fr;gap:30px;font-size:17px}}
@media(max-height:600px){.chapter-screen{position:relative;height:600px}.works-opening h2{transform:none}.sculpture{transform:rotate(-22deg) scale(.85)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.chapter-screen{position:relative;min-height:420px;height:65svh}.works-opening h2,.motion-window>.reveal-pending{transform:none}.name-motion-toggle{display:none}.world,.hero h1,.ticker-row{will-change:auto}}


/* Chapter lettering uses the same modular geometry as the measured reference. */
.archive .chapter-screen h2,.works-opening h2,.practice-heading h2{font-family:SpaceLatin,SpaceCN,sans-serif}


/* Complete the existing green / purple heading feedback for all six subjects. */
.practice-grid h3{transition:color .35s ease}
.practice-grid article:nth-child(3):hover h3{color:var(--acid)}
.practice-grid article:nth-child(6):hover h3{color:var(--purple)}
.contact-details{margin:0 auto;width:fit-content;max-width:100%}
.contact-details summary{cursor:pointer;list-style:none}
.contact-details summary::-webkit-details-marker{display:none}
.contact-details summary:focus-visible{outline:2px solid var(--acid);outline-offset:6px}
.contact-details[open] summary>span{color:var(--acid)}
.contact-details-body{margin:22px auto 0;padding:20px 24px;border-top:1px solid #17121e55;font-size:15px;line-height:1.8;color:#15101e}

/* Animate the reserved space as well as the text, without a layout jump. */
.contact-panel{overflow-anchor:none}
.contact-details{width:min(380px,100%)}
.contact-reveal{overflow:hidden}
.contact-details-body{margin:0;padding:42px 24px 20px;position:relative}
.contact-details-body:before{content:'';position:absolute;top:22px;left:24px;right:24px;height:1px;background:#17121e55}
.contact-details-body{border:0}
.contact-details.is-animated .contact-details-body{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .5s cubic-bezier(.22,.68,.16,1)}
.contact-details.is-animated[data-expanded="true"] .contact-details-body{opacity:1;transform:translateY(0);transition-delay:.09s}
.contact-details.is-animated summary>span{transition:color .4s ease}
.contact-details.is-animated[data-expanded="false"] summary>span{color:inherit}

/* Preserve the supplied portrait pixels; screen blending lets the live bubble show through black. */
.intro-image.intro-portrait{left:0;top:100px;width:53%;height:570px;opacity:.86;mix-blend-mode:screen;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 78%,transparent 100%)}
.intro-portrait img{object-fit:contain;object-position:center;filter:grayscale(1) brightness(1.55);height:100%;width:100%}
@media(min-width:1800px){.intro-image.intro-portrait{height:680px;top:115px}}
@media(min-width:601px) and (max-width:1000px){.intro-image.intro-portrait{left:-3%;width:51%;height:540px}}
@media(max-width:600px){.intro-image.intro-portrait{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:4/3;margin:24px 0 12px;opacity:.9}.intro-copy{margin:24px 0 0;max-width:none}.intro-heading{min-height:0}}
.contact-details-body p+p{margin-top:10px}.contact-details-body a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-details-body a:hover{color:var(--ink)}

/* Published project images and source files. */
.project-image img{filter:none}
.gallery-enhanced .project-caption{text-shadow:0 2px 18px #0009}
.gallery-enhanced .project-image:after{background:linear-gradient(180deg,#05050799,transparent 52%,#05050755)}
.detail-content>div#detail-visual{height:auto;min-height:0;overflow:visible}
#detail-visual img{display:block;width:100%;height:auto;object-fit:contain}
.detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:38px 0 0;padding:28px 0;border-block:1px solid var(--line)}
.detail-facts dt{font-size:13px;color:var(--muted);margin-bottom:10px}.detail-facts dd{margin:0;font-size:17px;line-height:1.6}
.detail-notes{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6vw}.detail-notes h3{margin:0 0 18px;font-weight:400}.detail-notes p{margin:0 0 24px}.detail-notes [hidden]{display:none}.detail-notes:has(#detail-description-section[hidden]){grid-template-columns:1fr}
.detail-download{min-width:0}.detail-download p{overflow-wrap:anywhere}.detail-download small{display:block;margin-top:20px}.detail-download .outline-button{color:var(--acid)}
@media(max-width:600px){.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.detail-facts dd{font-size:15px}.detail-notes{grid-template-columns:1fr;gap:35px}.detail-content>h2{font-size:clamp(30px,9vw,48px);overflow-wrap:anywhere}}
