:root{--paper:#e7e4dc;--paper2:#eeeae1;--ink:#121212;--night:#090909;--red:#6c2330;--line:rgba(18,18,18,.22);--mono:'DM Mono',monospace;--title:'Syne','Arial Black',sans-serif;--text:'Space Grotesk',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
body{margin:0;width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none;background:var(--paper);color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased}
main,.intro,.matter,.archive,.contact{max-width:100%;overflow-x:clip}
img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid #f17556;outline-offset:4px}
::selection{background:var(--red);color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:15px;z-index:999;background:var(--ink);color:white;padding:12px 18px}.skip-link:focus{top:14px}
.site-grain{pointer-events:none;position:fixed;inset:0;z-index:40;opacity:.13;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.35' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:70;pointer-events:none;background:transparent}
.progress span{display:block;height:100%;width:0;background:#c35960;transition:width .1s linear}
.nav{position:fixed;z-index:60;top:0;left:0;right:0;padding:24px 3.2vw 0;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;color:#fff;mix-blend-mode:difference;gap:15px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em}
.nav-mark{justify-self:start;font-family:var(--title);font-size:22px;line-height:1;letter-spacing:-.075em;font-weight:800}
.mark-symbol{font-family:var(--mono);font-size:8px;position:relative;top:-1.2em;margin-left:4px;letter-spacing:normal}
.nav-mid{justify-self:center;white-space:nowrap;margin-top:4px}
.nav-link{justify-self:end;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:4px}
.nav-link span{display:inline-block;margin-left:18px;transition:transform .25s ease}
.nav-link:hover span{transform:translate(2px,-2px)}
/* FIRST SCENE — images sit in space, not in cards */
.intro{height:186svh;position:relative;background:var(--paper);isolation:isolate}
.intro-sticky{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;isolation:isolate}
.intro-sticky::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 78% 20%,#f5f2eb 0%,transparent 40%),radial-gradient(ellipse at 12% 100%,#d6d0c8,transparent 47%)}
.fine-top{position:absolute;top:108px;left:3.2vw;right:3.2vw;z-index:8;display:flex;justify-content:space-between;gap:16px;font:10px/1.5 var(--mono);letter-spacing:.11em}
.hero-type{position:absolute;z-index:2;left:3vw;right:3vw;top:52%;transform:translateY(-50%);display:flex;justify-content:space-between;align-items:center;font:800 clamp(112px,20vw,330px)/.75 var(--title);letter-spacing:-.09em;white-space:nowrap;pointer-events:none;will-change:transform;mix-blend-mode:multiply}
.hero-type span:nth-child(3){-webkit-text-stroke:1.5px #191816;color:transparent}
.hero-type sup{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:0;align-self:start;transform:translate(-7px,-9px)}
.hero-kicker{position:absolute;z-index:6;top:68%;left:8.2%;margin:0;font-weight:500;font-size:clamp(25px,3.4vw,58px);line-height:1.03;letter-spacing:-.065em;pointer-events:none;max-width:9ch}
.hero-kicker span,.red{color:var(--red)}
.float-piece{position:absolute;z-index:4;margin:0;transform:translate(-50%,-50%);transform-origin:center;will-change:transform,opacity;pointer-events:none;filter:drop-shadow(0 15px 25px rgba(28,21,15,.17))}
.float-piece img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) saturate(.88)}
.float-piece figcaption{position:absolute;top:calc(100% + 7px);left:0;font:9px/1.25 var(--mono);letter-spacing:.06em;white-space:nowrap}
.piece-car{width:31vw;height:clamp(250px,28.2vw,430px);top:42%;left:63%;z-index:5}
.piece-hand{width:19vw;height:clamp(160px,17.3vw,270px);left:26%;top:31%;z-index:4}
.piece-work{width:16.5vw;height:16.5vw;max-height:250px;left:86%;top:24%;z-index:7}
.piece-detail{width:14vw;height:21vw;max-height:290px;left:81%;top:77%;z-index:3}
.hero-foot{position:absolute;z-index:8;bottom:28px;left:3.2vw;right:3.2vw;display:flex;align-items:end;justify-content:space-between;gap:16px;font:10px/1.75 var(--mono);letter-spacing:.075em}
.hero-foot p{margin:0}.hero-foot .right{text-align:right}
.scroll-nudge{position:relative;display:flex;align-items:center;gap:15px;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.35);white-space:nowrap}
.scroll-nudge .arrow{font-family:var(--text);font-size:20px;font-weight:400;animation:nudge 2s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
.stroke-gesture{pointer-events:none;position:absolute;z-index:6;width:22vw;max-width:330px;left:38%;top:7%;color:rgba(94,36,43,.75);transform:rotate(-12deg) scale(1.2);mix-blend-mode:multiply}
.stroke-gesture path{stroke-dasharray:900;stroke-dashoffset:900;animation:drawLine 2.5s cubic-bezier(.16,1,.3,1) .4s forwards}
@keyframes drawLine{to{stroke-dashoffset:0}}
/* SECOND SCENE — cinema-like pause */
.matter{position:relative;height:173svh;background:var(--night);color:#e7e4dc}
.matter-pin{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:var(--night)}
.matter-photo{position:absolute;inset:-15%;z-index:0;will-change:transform}
.matter-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:.29;filter:grayscale(1) contrast(1.35);mask-image:linear-gradient(90deg, transparent,black 38%,black 80%,transparent)}
.matter-pin::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,transparent 55%),linear-gradient(180deg,rgba(0,0,0,.23),transparent 30%,rgba(0,0,0,.55) 100%)}
.matter-index{position:absolute;top:16%;left:3.2vw;margin:0;z-index:2;font:10px var(--mono);letter-spacing:.15em}
.matter-statement{position:absolute;z-index:2;left:5vw;right:5vw;top:48%;transform:translateY(-50%);font:800 clamp(58px,13vw,235px)/.84 var(--title);letter-spacing:-.095em;will-change:transform}
.matter-statement span{display:block;white-space:nowrap}
.matter-statement span:nth-child(2){margin-left:20%;font-size:.93em}
.matter-statement span:nth-child(3){margin-left:4%;font-size:.82em}
.matter-statement .outline{-webkit-text-stroke:1px #e7e4dc;color:transparent}
.matter-bottom{position:absolute;z-index:2;bottom:32px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.09em}
/* THIRD SCENE — functionality without cards */
.disciplines{background:var(--paper2);padding:0 3.2vw 13vw}
.section-rail{display:flex;justify-content:space-between;gap:20px;padding:27px 0;border-bottom:1px solid var(--line);font:10px/1.5 var(--mono);letter-spacing:.1em}
.disciplines-main{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:6.5vw;align-items:center;padding-top:9vw}
.section-mini{font:10px var(--mono);letter-spacing:.15em;margin:0 0 24px}
.discipline-left h2{margin:32px 0 28px;font:800 clamp(53px,7.2vw,130px)/.86 var(--title);letter-spacing:-.085em}
.discipline-left h2 i{font-style:normal;-webkit-text-stroke:1px var(--ink);color:transparent}
.discipline-intro{font:400 clamp(16px,1.35vw,19px)/1.55 var(--text);max-width:42ch;letter-spacing:-.03em;margin:0 0 48px;color:#41403b}
.discipline-list{border-top:1px solid var(--ink)}
.discipline-item{width:100%;appearance:none;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.25);padding:18px 0;display:grid;grid-template-columns:38px 1fr 28px;gap:16px;align-items:center;cursor:pointer;color:#75736f;text-align:left;transition:color .25s ease,padding .3s ease}
.discipline-item:hover,.discipline-item:focus-visible,.discipline-item.active{color:var(--ink)}
.discipline-item:hover{padding-left:8px}
.discipline-item .num{font:10px var(--mono);align-self:start;padding-top:8px}
.discipline-item .name{font:700 clamp(22px,2.65vw,46px)/1 var(--title);letter-spacing:-.07em}
.discipline-item .arr{font:24px var(--text);justify-self:end;opacity:.5;transition:transform .3s}
.discipline-item:hover .arr{transform:translate(4px,-4px);opacity:1}
.discipline-visual{position:relative;padding:4vw 2vw 3vw 0}
.visual-frame{height:clamp(440px,50vw,740px);overflow:hidden;position:relative;background:#151515;transform:rotate(4deg);box-shadow:25px 30px 65px rgba(38,29,21,.18)}
.visual-frame img{width:100%;height:100%;object-fit:cover;transition:opacity .28s,transform 1.1s cubic-bezier(.2,.8,.2,1);filter:contrast(1.05)}
.visual-frame.switching img{opacity:.05;transform:scale(1.06)}
.visual-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:10px;padding:42px 20px 20px;color:white;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);font:10px/1.35 var(--mono);letter-spacing:.08em}
.visual-side-note{position:absolute;right:0;top:50%;margin:0;writing-mode:vertical-rl;transform:translate(60%,-50%);font:9px var(--mono);letter-spacing:.12em;white-space:nowrap}
/* FOURTH SCENE — gallery as spatial sequence */
.archive{padding:0 3.2vw 80px;background:var(--paper);overflow:hidden}
.archive-top{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:3vw;align-items:end;padding-top:11vw}
.archive-top h2{font:800 clamp(58px,11vw,205px)/.83 var(--title);letter-spacing:-.105em;margin:0;z-index:2;position:relative}
.archive-top .outlined{-webkit-text-stroke:1px var(--ink);color:transparent}
.archive-top p{max-width:26ch;margin:0 0 22px auto;font-size:clamp(17px,1.9vw,30px);line-height:1.25;letter-spacing:-.045em}
.archive-scenes{position:relative;min-height:1080px;margin-top:-1.5vw}
.scene{position:absolute;border:0;padding:0;background:transparent;color:var(--ink);cursor:zoom-in;text-align:left;z-index:1;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.scene::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,0);transition:background .3s}
.scene:hover::before{background:rgba(0,0,0,.1)}
.scene img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.06)}
.scene span{position:absolute;left:0;bottom:-23px;font:10px var(--mono);letter-spacing:.05em;white-space:nowrap}
.scene:hover{transform:translateY(-12px) rotate(0deg)}
.scene-one{left:1.5%;top:7%;width:41%;height:690px;transform:rotate(-6deg)}
.scene-two{right:4.5%;top:3%;width:34%;height:440px;transform:rotate(8deg)}
.scene-three{right:14%;top:54%;width:24%;height:500px;transform:rotate(-5deg);z-index:2}
.archive-footnote{font:10px var(--mono);letter-spacing:.1em;border-top:1px solid var(--line);padding-top:20px;margin:10vw 0 0}
/* FINAL SCENE — single conversion */
.contact{background:var(--night);color:var(--paper);min-height:100svh;padding:0 3.2vw;position:relative;isolation:isolate}
.contact::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 62%,rgba(99,22,39,.24),transparent 27%)}
.section-rail.light{border-color:rgba(236,230,222,.28)}
.contact-stage{min-height:76svh;position:relative;padding:8vw 0 9vw;display:flex;flex-direction:column;justify-content:space-between}
.contact-preamble{font:11px var(--mono);letter-spacing:.12em;margin:0}
.contact h2{font:800 clamp(90px,18vw,350px)/.72 var(--title);letter-spacing:-.105em;margin:0;padding-bottom:.07em}
.contact h2 em{font-style:normal;-webkit-text-stroke:1px var(--paper);color:transparent;margin-left:12%}
.contact-title-mobile{display:none}
.contact .period{color:#a03f4b}
.contact-circle{position:absolute;right:11%;top:42%;width:clamp(152px,17vw,260px);height:clamp(152px,17vw,260px);border-radius:50%;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:29px;transform:rotate(-12deg);transition:transform .55s cubic-bezier(.2,1,.36,1),background .3s;font:11px/1.3 var(--mono);letter-spacing:.04em}
.contact-circle svg{display:block;width:58px;height:58px;align-self:flex-end;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}
.contact-circle:hover{transform:rotate(0deg) scale(1.07);background:#fff}
.contact-info{display:flex;justify-content:space-between;gap:20px;font:12px/1.6 var(--mono);border-top:1px solid rgba(236,230,222,.24);padding:25px 0 4vw}
.contact-info p{margin:0}.contact-info .right{text-align:right}.contact-info span{color:#99948e}
.footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid rgba(236,230,222,.24);padding:21px 0 26px;font:10px var(--mono);letter-spacing:.08em;color:#bcb5ad}
.footer a:hover{text-decoration:underline}
.lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-height:none;max-width:none;margin:0;padding:clamp(55px,7vh,90px) 4vw 35px;border:0;background:rgba(6,6,6,.98);color:#eee9df;overflow:auto;text-align:center}
.lightbox[open]{display:flex;align-items:center;justify-content:center;flex-direction:column}
.lightbox img{max-width:100%;max-height:72vh;object-fit:contain;box-shadow:0 28px 90px rgba(0,0,0,.55)}
.lightbox p{font:12px var(--mono);letter-spacing:.1em}.lightbox-close{position:absolute;top:25px;right:4vw;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:7px 0;font:11px var(--mono);letter-spacing:.1em;cursor:pointer}
.lightbox::backdrop{background:rgba(0,0,0,.92)}
/* responsive */
@media(max-width:1020px){
 .nav-mid{display:none}.nav{grid-template-columns:1fr auto}
 .hero-type{font-size:20.5vw}.piece-car{width:39vw;height:38vw}.piece-hand{width:22vw;height:24vw}.piece-work{width:20vw;height:20vw;left:87%}.piece-detail{width:17vw;height:24vw}
 .disciplines-main{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:5vw}.disciplines{padding-bottom:10vw}
 .archive-scenes{min-height:920px}.scene-one{height:590px}.scene-two{height:400px}.scene-three{height:450px}
}
@media(max-width:690px){
 .nav{padding:17px 18px 14px;color:var(--ink);background:rgba(231,228,220,.97);border-bottom:1px solid var(--line);mix-blend-mode:normal;backdrop-filter:blur(12px)}.nav-mark{font-size:21px}.nav-link{font-size:10px}
 .intro{height:154svh}.intro-sticky{height:100svh;min-height:580px}
 .fine-top{left:18px;right:18px;top:85px;font-size:8px}
 .fine-top span:last-child{text-align:right}
 .hero-type{left:3vw;right:3vw;top:52%;font-size:22.8vw;letter-spacing:-.105em}
 .hero-type sup{font-size:8px;transform:translate(-3px,-8px)}
 .hero-kicker{top:69%;left:7%;font-size:clamp(26px,7vw,38px);max-width:13ch;letter-spacing:-.06em}
 .piece-car{left:58%;top:38%;width:64vw;height:61vw}
 .piece-hand{left:16%;top:28%;width:38vw;height:36vw}
 .piece-work{left:81%;top:17%;width:32vw;height:32vw}
 .piece-detail{left:81%;top:68%;width:31vw;height:39vw}
 .float-piece figcaption{font-size:7px;top:calc(100% + 5px)}
 .stroke-gesture{top:14%;left:24%;width:35vw}
 .hero-foot{left:18px;right:18px;bottom:18px;font-size:8px;gap:7px}
 .hero-foot p.right{display:none}.scroll-nudge{margin-left:auto;gap:6px;white-space:nowrap}
 .matter{height:138svh}.matter-pin{min-height:580px}.matter-index{top:17%;left:18px;font-size:9px}.matter-statement{left:5vw;right:5vw;font-size:14vw}.matter-statement span:nth-child(2){margin-left:15%}.matter-bottom{left:18px;right:18px;bottom:25px;font-size:8px;gap:15px}.matter-bottom span:last-child{text-align:right}
 .disciplines,.archive,.contact{padding-left:18px;padding-right:18px}
 .section-rail{padding:21px 0;font-size:8px}.section-rail span:last-child{text-align:right}
 .disciplines-main{grid-template-columns:1fr;gap:28px;padding-top:55px}
 .discipline-left h2{font-size:clamp(48px,12vw,82px);margin:26px 0}.discipline-intro{font-size:16px;margin-bottom:28px}
 .discipline-item{grid-template-columns:22px 1fr 18px;gap:10px;padding:19px 0}.discipline-item .name{font-size:clamp(20px,6vw,28px)}.discipline-item .arr{font-size:20px}
 .discipline-visual{padding:12px 20px 30px 12px}.visual-frame{height:390px;transform:rotate(3deg)}.visual-side-note{right:10px;font-size:8px}
 .disciplines{padding-bottom:65px}
 .archive-top{display:block;padding-top:68px}.archive-top h2{font-size:clamp(56px,13vw,110px)}.archive-top p{margin:35px 0 0 auto;font-size:19px;max-width:22ch}
 .archive-scenes{min-height:920px;margin-top:26px}
 .scene-one{left:0;top:50px;width:70%;height:410px;transform:rotate(-5deg)}
 .scene-two{right:0;top:20px;width:47%;height:260px;transform:rotate(7deg);z-index:2}
 .scene-three{right:8%;top:450px;width:52%;height:420px;transform:rotate(-5deg);z-index:2}
 .archive-footnote{font-size:9px;margin-top:10px;padding-bottom:10px}
 .contact{overflow:hidden}
 .contact-stage{min-height:0;padding:62px 0 48px;gap:26px;justify-content:initial;overflow:clip}
 .contact-preamble{font-size:10px;max-width:100%;line-height:1.65;letter-spacing:.08em}
 .contact h2{font-size:clamp(35px,10.5vw,64px);max-width:100%;margin:4px 0 0;line-height:1;letter-spacing:-.095em;padding:0 0 .13em;white-space:nowrap;position:relative;z-index:1}
 .contact-title-desktop{display:none}
 .contact-title-mobile{display:inline}
 .contact h2 em{margin-left:0}
 .contact-circle{position:relative;right:auto;top:auto;align-self:flex-end;margin:2px 0 4px auto;width:min(37vw,146px);height:min(37vw,146px);padding:20px;font-size:9px;z-index:2}
 .contact-circle svg{width:38px;height:38px}
 .contact-info{padding:24px 0 36px;font-size:10px;display:grid;grid-template-columns:1fr 1fr;align-items:start}
 .contact-info .right{max-width:none}
 .footer{font-size:8px;gap:10px;flex-wrap:wrap}
}
@media(max-width:375px){
 .fine-top{font-size:7px}.hero-foot{font-size:7px}.hero-type{font-size:23.3vw}.hero-kicker{font-size:25px}
 .piece-car{left:58%;top:36%}.piece-detail{top:66%}
 .contact-circle{width:min(36vw,130px);height:min(36vw,130px);margin-top:0}.archive-scenes{min-height:840px}.scene-three{height:355px}
}

@media(max-width:690px){
 html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
 body{touch-action:pan-y pinch-zoom}
 .intro-sticky,.matter-pin{width:100%;overflow:hidden}
 .matter-photo{inset:0;transform-origin:center center}
 .matter-statement{left:18px;right:18px;width:calc(100% - 36px);font-size:clamp(32px,10.2vw,64px);line-height:.98;letter-spacing:-.085em}
 .matter-statement span{white-space:nowrap}
 .matter-statement span:nth-child(2){margin-left:12%}
 .matter-statement span:nth-child(3){margin-left:0;font-size:.86em}
 .archive-scenes,.contact-stage,.hero-type,.contact h2{max-width:100%}
 .scene,.float-piece,.contact-circle{max-width:100vw}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
 .stroke-gesture path{stroke-dashoffset:0}.float-piece,.hero-type,.matter-photo,.matter-statement{will-change:auto}
}

.selected-project{font:9px/1.5 var(--mono);letter-spacing:.08em;color:#6a655f;margin:20px 0 0}


/* 5.3 / BIOGRAPHICAL CHAPTER — name, artistic practice, independently reported exhibition. */
.artist{position:relative;background:#d8d5cd;color:var(--ink);padding:0 3.2vw 7vw;isolation:isolate;overflow:hidden}
.artist::before{content:"";position:absolute;width:63vw;height:63vw;max-width:900px;max-height:900px;top:1%;right:-17%;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(116,92,83,.14),transparent 65%)}
.artist-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,6vw,120px);padding:clamp(72px,10vw,150px) 0 8vw;align-items:start}
.artist-overline,.artist-note{font:10px/1.5 var(--mono);letter-spacing:.12em;margin:0 0 29px}
.artist-identification h2{margin:0;font:800 clamp(65px,8vw,164px)/.83 var(--title);letter-spacing:-.11em;max-width:100%;overflow-wrap:normal}
.artist-identification h2 span{font-size:.70em;letter-spacing:-.105em}
.artist-identification h2 em{color:var(--red);font-style:normal}
.artist-alias{font:11px/1.5 var(--mono);letter-spacing:.09em;margin:40px 0 0}
.artist-alias strong{font:800 1.8em var(--title);letter-spacing:-.07em;margin-left:8px}
.artist-declaration{padding-top:6vw;max-width:540px}
.artist-lead{font:500 clamp(43px,5vw,84px)/.99 var(--text);letter-spacing:-.075em;margin:0 0 36px}
.artist-lead i{font-style:normal;color:var(--red)}
.artist-declaration>p:not(.artist-lead){font:400 clamp(16px,1.35vw,19px)/1.65 var(--text);letter-spacing:-.025em;margin:0 0 23px;color:#302f2c}
.artist-declaration strong{font-weight:700;color:#111}
.artist-feature{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(32px,5vw,95px);align-items:stretch;border-top:1px solid rgba(0,0,0,.3);padding-top:25px}
.artist-feature-media{position:relative;min-width:0;overflow:hidden;background:#111;min-height:570px}
.artist-feature-media img{width:100%;height:100%;max-height:760px;min-height:570px;object-fit:cover;filter:saturate(.75) contrast(1.06)}
.artist-feature-media>span{position:absolute;bottom:0;left:0;right:0;padding:52px 20px 19px;background:linear-gradient(0deg,rgba(0,0,0,.76),transparent);color:#ede9e1;font:10px/1.3 var(--mono);letter-spacing:.08em}
.artist-feature-side{display:flex;flex-direction:column;justify-content:space-between;gap:45px;min-width:0;padding:5vw 0 10px}
.artist-year{font:800 clamp(75px,9vw,160px)/.8 var(--title);letter-spacing:-.11em;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid rgba(0,0,0,.32);padding-bottom:14px}
.artist-year span{font:28px/1 var(--text);letter-spacing:0;padding-top:8px}
.artist-recognition h3{margin:23px 0 12px;font:800 clamp(35px,4vw,72px)/.95 var(--title);letter-spacing:-.085em}
.artist-recognition>p:not(.artist-note),.artist-commission>p:not(.artist-note){font:400 clamp(15px,1.2vw,18px)/1.65 var(--text);letter-spacing:-.02em;max-width:47ch;color:#302f2c}
.artist-recognition>a{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #1a1a1a;padding-bottom:8px;margin-top:16px;font:10px/1.4 var(--mono);letter-spacing:.07em;transition:gap .3s ease}
.artist-recognition>a:hover{gap:45px}
.artist-commission{border-top:1px solid rgba(0,0,0,.3);padding-top:25px}
.artist-end{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid rgba(0,0,0,.3);padding-top:20px;margin-top:9vw;font:10px/1.5 var(--mono);letter-spacing:.1em}
.artist-end a{border-bottom:1px solid currentColor;padding-bottom:5px}
.artist-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.artist-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1080px){
 .artist-head{gap:35px}
 .artist-identification h2{font-size:clamp(49px,7.9vw,85px)}
 .artist-feature-media,.artist-feature-media img{min-height:470px}
}
@media(max-width:690px){
 .artist{padding:0 18px 60px;overflow:hidden}
 .artist .section-rail{padding:21px 0}
 .artist-head{grid-template-columns:minmax(0,1fr);gap:35px;padding:67px 0 47px}
 .artist-overline{font-size:9px;margin-bottom:22px}
 .artist-identification h2{font-size:clamp(44px,12vw,75px);line-height:.94;letter-spacing:-.1em}
 .artist-identification h2 span{font-size:.73em}
 .artist-alias{margin-top:20px;font-size:9px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
 .artist-alias strong{margin:0;font-size:17px}
 .artist-declaration{padding:0}
 .artist-lead{font-size:clamp(38px,10vw,56px);margin:0 0 23px}
 .artist-declaration>p:not(.artist-lead){font-size:16px;line-height:1.65;margin-bottom:16px}
 .artist-feature{grid-template-columns:minmax(0,1fr);gap:0}
 .artist-feature-media{min-height:360px;max-height:520px}
 .artist-feature-media img{min-height:360px;max-height:520px;aspect-ratio:4 / 5;object-fit:cover}
 .artist-feature-side{padding:38px 0 0;gap:43px}
 .artist-year{font-size:clamp(84px,23vw,130px)}
 .artist-recognition h3{font-size:clamp(43px,12vw,70px)}
 .artist-recognition>p:not(.artist-note),.artist-commission>p:not(.artist-note){font-size:16px;line-height:1.65}
 .artist-end{margin-top:50px;gap:15px;font-size:9px}
 .artist-end span{max-width:44%}
}
@media(prefers-reduced-motion:reduce){.artist-reveal{opacity:1;transform:none;transition:none}}


/* V5.4: MOBILE RECOMPOSITION | Preserve the original Syne / Space Grotesk / DM Mono system. */
/* The artist's information should NEVER depend on an observer firing to become visible. */
.artist-reveal,.artist-reveal.is-visible{opacity:1;transform:none;transition:none}

@media (max-width:690px){
  /* Every mobile scene is content-sized: no 150vh pin spacers. */
  .intro{height:auto;min-height:0;overflow:clip}
  .intro-sticky{position:relative;top:auto;height:clamp(620px,100svh,840px);min-height:0;overflow:hidden}
  .fine-top{top:86px}
  .hero-type{top:49%;font-size:clamp(73px,22.1vw,120px);left:4%;right:4%;letter-spacing:-.115em}
  .hero-kicker{top:68%;left:7%;font-size:clamp(24px,7vw,34px);max-width:13ch}
  .piece-car{left:59%;top:38%;width:62vw;height:56vw}
  .piece-hand{left:17%;top:27%;width:35vw;height:34vw}
  .piece-work{left:83%;top:18%;width:30vw;height:30vw}
  .piece-detail{left:80%;top:73%;width:28vw;height:35vw}
  .hero-foot{bottom:25px}
  .matter{height:auto;min-height:0;overflow:hidden}
  .matter-pin{position:relative;top:auto;height:clamp(510px,78svh,710px);min-height:0;overflow:hidden}
  .matter-photo{inset:0}
  .matter-photo img{mask-image:linear-gradient(90deg,transparent,black 25%,black 85%,transparent)}
  .matter-statement{font-size:clamp(32px,10vw,62px);left:18px;right:18px;width:calc(100% - 36px);top:49%;letter-spacing:-.09em}
  .matter-statement span:nth-child(2){margin-left:7%}
  .matter-statement span:nth-child(3){margin-left:0;font-size:.82em}
  /* Compact, fully readable artist profile. Natural height, no empty fixed grids. */
  .artist{padding:0 18px 50px;overflow:clip}
  .artist-head{padding:45px 0 29px;gap:27px}
  .artist-overline{margin-bottom:16px}
  .artist-identification h2{font-size:clamp(45px,12.1vw,66px);line-height:.87;letter-spacing:-.095em}
  .artist-identification h2 span{font-size:.70em;letter-spacing:-.095em}
  .artist-alias{margin-top:18px}
  .artist-lead{font-size:clamp(32px,9vw,49px);margin:0 0 19px}
  .artist-declaration>p:not(.artist-lead){font-size:15.5px;line-height:1.62;margin-bottom:13px}
  .artist-feature{padding-top:14px}
  .artist-feature-media{height:min(95vw,440px);min-height:0;max-height:none;overflow:hidden}
  .artist-feature-media img{min-height:0;max-height:none;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 52%}
  .artist-feature-side{padding-top:30px;gap:22px}
  .artist-note{margin-bottom:15px}
  .artist-year{font-size:clamp(67px,19vw,98px);padding-bottom:10px}
  .artist-recognition h3{font-size:clamp(40px,11vw,60px);margin:14px 0 8px}
  .artist-recognition>p:not(.artist-note),.artist-commission>p:not(.artist-note){font-size:15px;line-height:1.55;margin:10px 0}
  .artist-recognition>a{margin-top:12px;font-size:9px}
  .artist-commission{padding-top:15px}
  .artist-end{margin-top:30px;padding-top:16px;font-size:8px;gap:8px}
  .artist-end span{max-width:50%}
  /* Visual rhythm: staggered photographs with content height, not empty 920px stage. */
  .archive{padding-bottom:42px}
  .archive-top{padding-top:48px}
  .archive-top h2{font-size:clamp(52px,12.2vw,91px);line-height:.9}
  .archive-top p{font-size:18px;margin:25px 0 0 auto}
  .archive-scenes{min-height:0;position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:30px;padding-bottom:23px;overflow:visible}
  .scene{position:relative;inset:auto!important;top:auto;left:auto;right:auto;bottom:auto;width:auto;height:auto;aspect-ratio:4/5;flex:0 0 auto;display:block;max-width:100%;}
  .scene-one{width:78%;height:auto;margin-left:3%;transform:rotate(-4deg)}
  .scene-two{width:51%;height:auto;aspect-ratio:1;margin:-94px 0 0 auto;transform:rotate(6deg);z-index:3}
  .scene-three{width:65%;height:auto;aspect-ratio:3/4;margin:-38px 0 12px 6%;transform:rotate(-4deg);z-index:2}
  .archive-footnote{margin-top:18px;font-size:8px;line-height:1.55}
  /* Keep original typeface; ensure contact CTA is in flow. */
  .contact{min-height:0;padding-bottom:0}
  .contact-stage{padding:40px 0 27px;gap:18px;min-height:0}
  .contact h2{font-size:clamp(34px,10vw,60px);margin:8px 0 0;white-space:nowrap}
  .contact-circle{position:relative;width:clamp(118px,34vw,140px);height:clamp(118px,34vw,140px);margin:0 0 4px auto}
  .contact-info{padding:20px 0 25px}
}
@media(max-width:360px){
  .hero-type{font-size:22vw}
  .fine-top{font-size:7px}
  .hero-foot{font-size:7px}
  .artist-identification h2{font-size:12vw}
  .contact h2{font-size:9.6vw}
  .section-rail{font-size:7px}
}
