/* A floating study of the work. All type inherits the owner's typography choices. */
/* The original handwriting, traced as a transparent vector wordmark. */
.header .signature-wordmark{position:relative;display:block;width:164px;height:68px;max-width:100%;min-width:0;overflow:hidden;line-height:0}
.signature-wordmark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.signature-wordmark:focus-visible{outline:1px solid #fff;outline-offset:2px}
@media(max-width:700px){.header .signature-wordmark{width:clamp(96px,30vw,128px);height:54px}}
.work-image{transform-origin:50% 90%;transition:transform .8s cubic-bezier(.18,.72,.22,1);will-change:auto}
.work-image img{filter:grayscale(1);transition:filter 1.1s ease,transform 1.2s cubic-bezier(.18,.72,.22,1)}
.work-card:is(:hover,:focus-within,.is-active){position:relative;z-index:5}
.work-card:is(:hover,:focus-within,.is-active) .work-image img{filter:grayscale(0);transform:scale(1.035)}
.work-card:is(:hover,:focus-within,.is-active) .work-image{transform:translate3d(calc(var(--float-x,0px) + var(--hover-x,0px)),calc(var(--float-y,0px) + var(--hover-y,0px)),0) scale(1.09)}
.work-explore{inset:auto 12px 12px auto;padding:7px 10px;background:#0009;font-size:9px;letter-spacing:.04em}
.work-link:focus-visible{outline:1px solid #fff;outline-offset:9px}
.work-badge{font:400 10px/1.65 var(--label);text-transform:uppercase;margin-top:12px;color:#ddd;max-width:300px}
.work-collection[data-view-mode=floating]{grid-template-columns:repeat(12,minmax(0,1fr));gap:55px 28px;align-items:start;isolation:isolate;padding:15px 12px 55px}
[data-view-mode=floating] .work-image{aspect-ratio:4/3;transform:translate3d(var(--float-x,0px),var(--float-y,0px),0)}
[data-view-mode=floating] .work-card:is(:hover,:focus-within,.is-active) .work-image{transform:translate3d(calc(var(--float-x,0px) + var(--hover-x,0px)),calc(var(--float-y,0px) + var(--hover-y,0px)),0) scale(1.12)}
[data-view-mode=floating] .work-card[data-slot="0"]{grid-column:1/7;grid-row:calc(var(--atlas-row,0) + 1)/span 2;align-self:start}
[data-view-mode=floating] .work-card[data-slot="0"] .work-image{aspect-ratio:1.25}
[data-view-mode=floating] .work-card[data-slot="1"]{grid-column:7/10;grid-row:calc(var(--atlas-row,0) + 1);margin-top:120px}
[data-view-mode=floating] .work-card[data-slot="2"]{grid-column:10/13;grid-row:calc(var(--atlas-row,0) + 2);margin-top:50px}
[data-view-mode=floating] .work-card[data-slot="2"] .work-image{aspect-ratio:4/5}
[data-view-mode=floating] .work-card[data-slot="3"]{grid-column:2/7;grid-row:calc(var(--atlas-row,0) + 3);margin-top:25px}
[data-view-mode=floating] .work-card[data-slot="4"]{grid-column:9/13;grid-row:calc(var(--atlas-row,0) + 3);margin-top:160px}
[data-view-mode=floating] .work-name{margin-top:24px;gap:10px}
[data-view-mode=floating] .work-name h2{font-family:var(--serif);font-size:calc(clamp(21px,2.05vw,33px)*var(--title-scale))}
[data-view-mode=floating] .work-card[data-slot="0"] .work-name h2{font-size:calc(clamp(28px,2.6vw,42px)*var(--title-scale))}
[data-view-mode=floating] .work-category{padding-left:25px;margin-top:8px}
[data-view-mode=floating] .work-context{display:block;font:400 10px/1.7 var(--label);color:#aaa;margin:6px 0 0 25px}
[data-view-mode=floating] .work-badge{margin-left:25px}
[data-view-mode=list] .work-badge{grid-column:1/-1;margin:0 0 0 27px}
.work-preview{display:block;opacity:0;visibility:hidden;transform:translate(-50%,-50%) scale(.82);transition:opacity .35s,visibility .35s,transform .7s cubic-bezier(.18,.72,.22,1)}
.work-preview img{filter:grayscale(1);transition:filter 1s,transform 1s;transform:scale(1)}
.work-preview.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.work-preview.visible img{filter:grayscale(0);transform:scale(1.04)}
.atlas-personal figcaption{font:400 10px/1.6 var(--label);margin-top:14px;max-width:30ch;color:#ccc}
.atlas-personal .image-open{display:block;width:100%;padding:0;background:#000;border:0;position:relative;overflow:hidden}
.atlas-personal .image-open img{height:auto;aspect-ratio:auto;object-fit:contain;filter:none;transition:transform .8s}
.atlas-personal .image-open:hover img{transform:scale(1.025)}
.atlas-personal .zoom-hint{margin:0;font-size:20px;text-transform:none}
.atlas-personal.atlas-left{width:29%;top:8%}
.atlas-personal.atlas-right{width:22%;bottom:2%}
.atlas-personal:focus-within{z-index:4}
/* A percentage row gap can overflow the mobile cover into the divider clearance. */
.narrative-cover:has(.project-recognition){row-gap:25px}
.project-recognition{display:grid;gap:20px;margin-top:25px;padding-inline-end:clamp(12px,2vw,24px);font-size:12px;line-height:1.6}
.recognition-awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px 28px;align-items:start}
.recognition-award{min-width:0}
.recognition-award.has-badge{display:grid;grid-template-columns:62.72px minmax(0,1fr);gap:16px;align-items:center}
.recognition-award .story-figure{width:100%;margin:0}
.recognition-award img{display:block;width:100%;height:67.62px;object-fit:contain;object-position:center;cursor:default}
.recognition-award-text{min-width:0}
.recognition-award-text .text-link{max-width:100%;overflow-wrap:anywhere}
.recognition-award-text p{margin:0}
@media(max-width:700px){.recognition-award.has-badge{grid-template-columns:51.94px minmax(0,1fr)}.recognition-award img{height:54.88px}.recognition-awards{gap:22px}}
/* Original concept art and sketch sheets stay uncropped and legible. */
.chapter-intro-story{display:grid;gap:28px;min-width:0}
.chapter-intro-images{display:flex;flex-direction:column}
.chapter-intro-images:has(>[hidden]:only-child){display:none}
.story-chapter .story-figure[data-edit-item="time-perception-concept"]{grid-column:1/-1;width:min(100%,580px);justify-self:center;margin-inline:auto}
.story-chapter .story-figure[data-edit-item="time-rhythm-studies"]{grid-column:1/-1;width:100%;max-width:1000px;justify-self:center}
/* Sketches support the spatial renders, with both width and height restrained. */
.story-chapter .story-figure[data-edit-item$="-sketch"],.story-chapter .story-figure[data-edit-item$="-sketches"]{grid-column:1/-1;width:min(38%,440px);justify-self:center;margin-inline:auto}
.story-chapter .story-figure[data-edit-item$="-sketch"] img,.story-chapter .story-figure[data-edit-item$="-sketches"] img{max-height:min(24vw,300px);object-fit:contain}
.story-chapter .story-figure[data-edit-item="interstate-bar-sketch"]{grid-column:2;width:min(70%,440px)}
.story-chapter .story-figure[data-edit-item="interstate-overview"]{grid-column:1/-1;width:100%;max-width:1100px;justify-self:center}
@media(max-width:700px){.story-chapter .story-figure[data-edit-item$="-sketch"],.story-chapter .story-figure[data-edit-item$="-sketches"]{grid-column:1/-1;width:min(78%,360px)}.story-chapter .story-figure[data-edit-item$="-sketch"] img,.story-chapter .story-figure[data-edit-item$="-sketches"] img{max-height:min(44vw,240px)}}
.story-chapter .story-figure[data-edit-item="remains-arousal-development"],.story-chapter .story-figure[data-edit-item="remains-top-development"],.story-chapter .story-figure[data-edit-item="echoes-shared-presence"]{grid-column:1/-1;width:min(100%,1100px);justify-self:center;margin-inline:auto}
.contact-opening{padding:55px 0 50px}
.contact-atlas{display:grid;grid-template-columns:1.7fr 1fr;gap:7%;align-items:center;position:relative;padding:70px 0 35px}
.contact-intro{position:relative;z-index:2}
.contact-intro h1{font:400 calc(clamp(48px,6.5vw,106px)*var(--title-scale))/1.08 var(--serif);letter-spacing:var(--title-tracking)}
.contact-intro>p{font:400 var(--body-size)/var(--body-leading) var(--sans);color:#aaa;max-width:460px;margin-top:38px}
.contact-image{width:85%;justify-self:end;margin-top:95px;transform:translate(var(--contact-x,0px),var(--contact-y,0px));transition:transform .7s ease-out}
.contact-image img{aspect-ratio:3/4;object-fit:cover;filter:grayscale(1);transition:filter 1s}
.contact-image:hover img{filter:grayscale(0)}
.contact-image figcaption{font:400 10px/1.6 var(--label);color:#aaa;margin-top:15px;max-width:27ch}
.contact-sections{display:flex;flex-direction:column}
.contact-email-block{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;border-top:1px solid #333;padding:55px 0 65px}
.contact-email-block .button-zone{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.contact-email-block .site-button{font:400 calc(clamp(23px,3vw,47px)*var(--title-scale))/1.3 var(--sans);letter-spacing:-.025em;padding:0 0 14px;word-break:break-word}
.contact-email-tools{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:15px;color:#aaa;font:400 11px/1.6 var(--label)}
.copy-email{background:none;color:#aaa;padding:8px 0;border:0;border-bottom:1px solid #555;font:inherit;cursor:pointer}
.copy-email:hover{color:#fff}
.copy-email:focus-visible{outline:1px solid #fff;outline-offset:5px}
.contact-connections{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:60px 0 85px;border-top:1px solid #333}
.contact-connections h2{font:400 calc(clamp(26px,3vw,43px)*var(--title-scale))/1.2 var(--serif);margin-top:22px}
.contact-place>p:last-child{font:400 var(--body-size)/var(--body-leading) var(--sans);max-width:400px;color:#aaa;margin-top:28px}
.page-contact [data-button-zone=contact-end]{padding-bottom:95px;margin:0}
.page-contact .project-footer .footer-heading{display:none}
.page-contact .project-footer{display:block;padding-top:30px}
.page-contact .project-footer>.button-zone{justify-content:flex-start}
@media(max-width:1100px) and (min-width:701px){
 .work-collection[data-view-mode=floating]{gap:45px 20px;padding-inline:0}
 [data-view-mode=floating] .work-card[data-slot="0"]{grid-column:1/7}
 [data-view-mode=floating] .work-name h2{font-size:calc(20px*var(--title-scale))}
 [data-view-mode=floating] .work-card[data-slot="0"] .work-name h2{font-size:calc(28px*var(--title-scale))}
 .view-switch{gap:13px}.index-controls{grid-template-columns:1.3fr 1fr 1.2fr 1fr}
}
@media(max-width:700px){
 .header{grid-template-columns:1fr auto auto;gap:13px}.header-contact{display:block;grid-column:3;grid-row:1}.header nav{grid-column:2}.header .button-zone{gap:12px}
 .work-collection[data-view-mode=floating]{display:flex;flex-direction:column;gap:55px;padding:10px 0 20px}
 [data-view-mode=floating] .work-card{width:82%;margin:0!important;align-self:flex-start}
 [data-view-mode=floating] .work-card[data-slot="0"]{width:92%;align-self:center}
 [data-view-mode=floating] .work-card[data-slot="0"] .work-image{aspect-ratio:4/3}
 [data-view-mode=floating] .work-card[data-slot="2"],[data-view-mode=floating] .work-card[data-slot="4"]{align-self:flex-end;width:73%}
 [data-view-mode=floating] .work-name h2{font-size:calc(25px*var(--title-scale))}
 [data-view-mode=floating] .work-name{margin-top:17px}
 [data-view-mode=floating] .work-card[data-slot="0"] .work-name h2{font-size:calc(30px*var(--title-scale))}
 [data-view-mode=list] .work-badge{grid-column:1;grid-row:4;margin-left:0;font-size:9px}
 .atlas-personal.atlas-left,.atlas-personal.atlas-right{width:100%}
 .atlas-personal.atlas-right{margin-top:35px}
 .atlas-personal figcaption{font-size:9px}
 .contact-opening{padding:35px 0 40px}.contact-atlas{padding:35px 0 15px;grid-template-columns:1fr;gap:35px}
 .contact-intro h1{font-size:calc(clamp(43px,10.8vw,69px)*var(--title-scale))}
 .contact-intro>p{margin-top:27px}.contact-image{width:44%;margin:0 4% 0 0}
 .contact-image img{aspect-ratio:4/5}.contact-image figcaption{font-size:9px}
 .contact-email-block{grid-template-columns:1fr;gap:22px;padding:35px 0 45px}
 .contact-email-block .site-button{font-size:calc(clamp(22px,5.4vw,34px)*var(--title-scale))}
 .contact-connections{grid-template-columns:1fr;gap:50px;padding:40px 0 55px}
 .page-contact [data-button-zone=contact-end]{padding-bottom:60px}
}
@media(hover:none){.work-image,.work-card:is(:hover,:focus-within,.is-active) .work-image{transform:none!important}.work-link:active .work-image img{filter:grayscale(0)}}
@media(prefers-reduced-motion:reduce){
 .work-image,.work-image img,.work-preview,.work-preview img,.atlas-personal img,.contact-image,.contact-image img{transition:none!important;transform:none!important}
 .work-preview{display:none!important}
}
