body{font-family:Avenir,'Avenir Next',Arial,sans-serif}header{z-index:20!important;pointer-events:none}header>*{pointer-events:auto}.brand-contact{text-align:left;display:flex;flex-direction:column;gap:7px;padding:0}.brand-contact small{margin:0;font-size:8px;letter-spacing:.1em;opacity:.55}body[data-mode=overview] .legacy-scene,body[data-mode=collection] .legacy-scene,body[data-mode=overview] .archive-labels,body[data-mode=collection] .archive-labels{visibility:hidden;pointer-events:none!important}nav.pages{display:none!important}body[data-mode=collection] footer{display:none}body:not([data-mode=overview]) #queue,body:not([data-mode=overview]) #queueTitles,body:not([data-mode=collection]) #publicIndex{display:none}#queue{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;isolation:isolate}#queue.dragging{cursor:grabbing}.queue-card{position:absolute;left:50%;top:50%;padding:0;width:var(--card-width,260px);height:calc(var(--card-width,260px)*1.502);border:0;background:none;transform-origin:center;will-change:transform;cursor:pointer;filter:drop-shadow(1px 5px 2px #3a413717) drop-shadow(8px 15px 14px #29332c12);user-select:none}.queue-card:focus-visible{outline:1px solid #5b6959;outline-offset:5px}.queue-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.queue-picture,.queue-placeholder{position:absolute;left:2%;top:12.59%;width:96%;height:77.67%;object-fit:contain;background:#e8e8da;pointer-events:none}.queue-placeholder{background:#3fffdb;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.14em;color:#446f62}.queue-type{position:absolute;left:2%;top:8%;font-size:8px;line-height:1.2;letter-spacing:.06em;color:#606161;max-width:94%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-name{position:absolute;left:3.5%;right:3.5%;bottom:3.5%;font-size:9px;color:#606161;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.contact-card{position:absolute;left:4%;right:4%;top:13%;bottom:9%;text-align:left;display:flex;flex-direction:column;gap:9px}.contact-photo{height:43%;background:#dddfd2;display:flex;align-items:center;justify-content:center;font-size:8px;color:#8d9689;letter-spacing:.12em;flex-shrink:0}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-card h2{font-size:18px;font-weight:500;line-height:1.5;margin:0}.contact-card a{font-size:11px;color:#354633;text-decoration:none;overflow-wrap:anywhere;pointer-events:auto}.contact-card a:hover{text-decoration:underline}footer{pointer-events:none;z-index:12;max-width:44%;font-size:9px;line-height:1.8}footer small{font-size:8px;letter-spacing:.12em}#queueTitles{position:absolute;right:34px;bottom:34px;z-index:14;width:min(230px,27vw);text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}#queueTitles .queue-heading{font-size:8px;letter-spacing:.16em;opacity:.4;margin-bottom:10px}#queueTitles button{font-size:10px;padding:3px 0;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:.35;text-align:right;transition:opacity .2s}#queueTitles button.current{font-size:13px;opacity:1}#queueTitles button:hover{opacity:1}#queueTitles .counter{margin-top:9px;font-size:8px;letter-spacing:.12em;opacity:.4}#publicIndex{position:absolute;inset:105px 34px 0;overflow:auto;padding-bottom:60px}#publicIndex h1{font-size:28px;font-weight:400;margin:15px 0 25px}.index-filter{display:flex;gap:12px;margin-bottom:30px}.index-filter input,.index-filter select{font:inherit;font-size:12px;border:0;border-bottom:1px solid #ddd;background:white;padding:12px 0;color:#5b6557;min-width:0}.index-filter input{flex:1}.index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.index-item{padding:0;text-align:left}.index-cover{height:210px;background:#e8e8da;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.15em}.index-cover img{width:100%;height:100%;object-fit:contain}.index-item h2{font-size:13px;font-weight:500;margin:12px 0 5px}.index-item p{font-size:9px;opacity:.55;margin:0}.index-empty{padding:80px 0;line-height:2;font-size:12px;color:#7d8778}#entryDialog{width:min(1100px,94vw);max-width:94vw;max-height:90svh;padding:35px;border:1px solid #ddd;font-family:inherit}#entryDialog h2{font-size:25px;font-weight:400}#entryDialog .entry-close{float:right}#entryDialog .entry-meta{font-size:10px;letter-spacing:.08em;color:#7d8778}#entryDialog img,#entryDialog video{max-width:100%;max-height:75svh;display:block;margin:22px auto;object-fit:contain}#entryDialog .entry-description{white-space:pre-wrap;font-size:13px;line-height:1.8}#entryDialog a{display:block;margin:15px 0;color:#44583c;font-size:12px}#entryDialog::backdrop{background:#fffd;backdrop-filter:blur(10px)}@media(max-width:700px){header{top:22px}.brand-contact{margin-bottom:14px}.brand-contact small{font-size:8px}#queueTitles{right:18px;bottom:100px;width:44vw;gap:3px}#queueTitles button{font-size:8px}#queueTitles button.current{font-size:10px}#queueTitles .queue-heading{display:none}footer{max-width:92%;font-size:8px;bottom:22px}#publicIndex{inset:125px 18px 0}.index-filter{flex-wrap:wrap;gap:8px}.index-filter input{flex-basis:100%}.index-filter select{width:48%}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.index-cover{height:150px}.queue-type{font-size:7px}.queue-name{font-size:8px}.contact-card h2{font-size:15px}.contact-card a{font-size:10px}}
header{background:linear-gradient(90deg,#fffffff2,#ffffffb8);backdrop-filter:blur(8px);padding:10px 12px;margin:-10px -12px}footer{background:linear-gradient(90deg,#ffffffed,#ffffff00);padding:8px 12px;margin:0 -12px}.brand-contact:focus-visible{outline:1px solid #687664;outline-offset:4px}
/* Overview photographs: uniform aspect ratio and a common projection plane. */
.queue-card{height:auto;aspect-ratio:1.85/1;border:1px solid #a1a3a0;background:#f1f1ee;box-shadow:2px 5px 8px #18201813,10px 16px 28px #18201812;filter:none;overflow:hidden}.queue-picture,.queue-placeholder{inset:0;width:100%;height:100%;object-fit:cover;background:#e6e7e2}.queue-placeholder{color:#92968e;font-size:8px;letter-spacing:.14em}.orbit-contact{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;padding:25px 18px;background:transparent;color:#080808;text-align:center;z-index:15;opacity:0;pointer-events:none}.orbit-contact h1{font-size:24px;font-weight:500;line-height:1.5;margin:0 0 20px}.orbit-contact a{display:block;font-size:13px;line-height:2;color:#080808;text-decoration:none}.orbit-contact a:hover{text-decoration:underline}.orbit-contact button{font-size:8px;margin-top:20px;letter-spacing:.12em}.orbit-mode .orbit-contact{pointer-events:auto}.orbit-mode #queueTitles{opacity:0;pointer-events:none}.orbit-mode #queue{cursor:default}body:not([data-mode=overview]) .orbit-contact{display:none}#queueTitles{transition:opacity .3s}@media(max-width:700px){.orbit-contact{width:215px;padding:18px 8px}.orbit-contact h1{font-size:18px;margin-bottom:15px}.orbit-contact a{font-size:11px}.orbit-contact button{font-size:7px}.orbit-mode footer{font-size:8px}}

.viewing-label{position:absolute;left:50%;top:50%;z-index:400;text-align:center;pointer-events:none;opacity:0;color:#171717}.viewing-project{font-size:13px;font-weight:500;letter-spacing:.06em}.viewing-category{font-size:9px;letter-spacing:.14em;margin-top:7px;opacity:.6}.orbit-mode .viewing-label{visibility:hidden}@media(max-width:700px){.viewing-project{font-size:11px}.viewing-category{font-size:8px}}

/* A vertical title reel follows the continuous queue position. */
#queueTitles{gap:0}#queueTitles .title-reel{position:relative;width:100%;height:168px;overflow:hidden;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}#queueTitles .title-reel button{position:absolute;right:0;top:50%;height:28px;line-height:28px;padding:0;font-size:10px;transition:none;will-change:transform,opacity}#queueTitles .title-reel button.current{font-size:12px}#queueTitles .queue-heading{margin-bottom:0}#queueTitles .counter{margin-top:5px}
@media(min-width:701px){header{background:none;backdrop-filter:none}header nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 18px;background:#ffffffed}footer{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:65%;justify-content:center;text-align:center;margin:0;background:#fffffff0;padding:8px 18px}footer small{margin-top:5px}}
@media(max-width:700px){#queueTitles .title-reel{height:140px}#queueTitles .title-reel button{font-size:8px}#queueTitles .title-reel button.current{font-size:10px}}

/* A dark, image-derived color field emerges only in the idle viewing state. */
.ambient-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;background:#121416;--ambient-0:#343e42;--ambient-1:#46524b;--ambient-2:#252c32}
.ambient-field::before,.ambient-field::after{content:"";position:absolute;inset:-35%;background:radial-gradient(ellipse at 25% 35%,var(--ambient-0),transparent 62%),radial-gradient(ellipse at 75% 65%,var(--ambient-1),transparent 60%),radial-gradient(ellipse at 45% 85%,var(--ambient-2),transparent 65%);animation:ambient-drift 32s ease-in-out infinite alternate;will-change:transform}
.ambient-field::after{opacity:.55;animation-duration:43s;animation-direction:alternate-reverse;transform:rotate(180deg)}
@keyframes ambient-drift{from{transform:translate(-5%,-3%) rotate(-9deg) scale(1)}to{transform:translate(7%,5%) rotate(12deg) scale(1.13)}}
body[data-mode=overview] header,body[data-mode=overview] footer,body[data-mode=overview] #queueTitles,body[data-mode=overview] .viewing-label{color:var(--ambient-ink,#29312d)}
body.immersive header,body.immersive header nav,body.immersive footer{background:transparent;backdrop-filter:none}
body.immersive header button[aria-pressed=true]{border-color:currentColor}
@media(prefers-reduced-motion:reduce){.ambient-field::before,.ambient-field::after{animation:none}}

.nav-morph-layer{position:absolute;inset:0;pointer-events:none;z-index:18;overflow:hidden}.morph-plane{position:absolute;background:#eee;border:1px solid #a1a3a0;box-shadow:4px 12px 25px #18201820;overflow:hidden;will-change:transform,width,height,left,top}.morph-plane img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.morph-next{opacity:0}body.nav-morph #queue,body.nav-morph .legacy-scene,body.nav-morph #publicIndex,body.nav-morph .archive-labels{visibility:hidden!important}body.nav-travel #queueTitles,body.nav-travel footer,body.nav-travel .archive-labels{opacity:0!important}body.nav-travel #queue,body.nav-travel .legacy-scene,body.nav-travel #publicIndex{pointer-events:none!important}body.nav-travel header{pointer-events:none}body.nav-travel header>*{pointer-events:none}

/* Navigation travel uses geometry only: no photograph paints or new image binding. */
body.nav-travel .queue-card{background:#fff;box-shadow:none;border-color:#a5a8a5}body.nav-travel .queue-card img,body.nav-travel .queue-placeholder{visibility:hidden}.nav-morph-layer .morph-plane{background:#fff;box-shadow:none;will-change:transform}.orbit-unwinding #queue{pointer-events:none}.orbit-unwinding .orbit-contact{pointer-events:none}.orbit-unwinding #queueTitles{opacity:0;pointer-events:none}

.contact-fading header,.contact-fading #queue{pointer-events:none!important}.contact-fading header>*{pointer-events:none!important}body.nav-regroup #queue,body.nav-regroup .legacy-scene,body.nav-regroup #publicIndex,body.nav-regroup header>*{pointer-events:none!important}

.morph-folder-bar{position:absolute;left:0;right:0;top:0;height:9%;border-top:2px solid #333;border-bottom:1px solid #888;z-index:1;pointer-events:none}.morph-folder-bar i{position:absolute;top:40%;left:2%;width:1.7%;aspect-ratio:1;border-radius:50%;background:#222}.morph-folder-bar i+i{left:auto;right:2%}.morph-destination{z-index:2}

.vector-folders{position:absolute;inset:0;pointer-events:none;z-index:1}.vector-folder{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;box-shadow:3px 8px 18px #18201818;will-change:transform}.vector-folder svg{display:block;width:100%;height:100%}.folder-art{position:absolute;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#777;font-size:8px;letter-spacing:.08em}.folder-art img{width:100%;height:100%;object-fit:cover}.vector-folder[data-kind=project] .folder-art,.morph-plane[data-kind=project] .folder-art{left:2.055%;top:13.386%;width:95.89%;height:83.66%}.vector-folder[data-kind=category] .folder-art,.morph-plane[data-kind=category] .folder-art{left:2.083%;top:12.601%;width:95.833%;height:77.688%}body:not([data-mode=project]):not([data-mode=category]) .vector-folders{display:none}body.nav-morph .vector-folders{visibility:hidden}body.nav-regroup .vector-folders{pointer-events:none}body.nav-regroup .vector-folder{pointer-events:none}.morph-plane>svg{width:100%;height:100%;display:block}.morph-plane .folder-art img{position:static}.morph-plane.is-folder{border:0}.morph-plane.is-wire>svg>rect:first-of-type{fill:#fff}.nav-reveal .archive-labels{visibility:visible!important}.nav-reveal .vector-folders{visibility:visible!important}.nav-reveal .vector-folder .folder-art{opacity:0}

.full-art{position:absolute;inset:0}.full-art img{width:100%;height:100%;object-fit:cover}.nav-reveal #queue img,.nav-reveal #queueTitles,.nav-reveal #publicIndex,.nav-reveal .archive-labels{opacity:0}.morph-plane .plane-art{pointer-events:none}

body.nav-regroup .archive-labels{pointer-events:none!important}

/* Layouts move as two composited surfaces, preserving their internal depth order. */
.transition-composition{position:absolute;inset:0;transform-origin:50% 54%;will-change:transform,opacity;isolation:isolate;contain:layout style}
.nav-morph-layer .morph-plane{will-change:auto}
body.nav-regroup .archive-labels,body.nav-regroup #queueTitles{transition:none}
body.nav-regroup .orbit-contact{pointer-events:none}
body.nav-reveal footer,body.nav-reveal .viewing-label,body.nav-reveal .orbit-contact,body.nav-reveal .queue-placeholder{opacity:0}
body.nav-regroup header{color:#29312d;transition:color .3s ease}
@media(prefers-reduced-motion:reduce){.transition-composition{will-change:auto}}

body.nav-morph #queueTitles,body.nav-morph footer,body.nav-morph .orbit-contact{visibility:hidden!important}

/* External archive names: twice the previous type size, using the site font. */
.archive-labels button{font-family:inherit;font-size:22px;line-height:1.2}
@media(max-width:700px){
 .archive-labels button{font-size:18px}
 .project-label span{font-size:14px;line-height:1.2;max-width:80px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
}

@media(max-width:700px){.archive-labels:has(.project-label.selected) .project-label:not(.selected) span{-webkit-line-clamp:1}}

#entryDialog .pdf-reader{display:block;width:100%;height:70svh;min-height:360px;border:1px solid #dedfd8;background:#f4f4f0;margin:12px 0 24px}#entryDialog .pdf-open{font-size:11px;letter-spacing:.08em}

/* CATEGORY owns the searchable work collection; there is no separate Index tab. */
.collection-back{font-size:9px;letter-spacing:.12em;color:#777;margin:6px 0 8px}
.collection-back:hover{color:#111}
#publicIndex h1{margin-top:8px}
body[data-transition-phase] .archive-labels,body[data-transition-phase] footer,body[data-transition-phase] #queueTitles{transition:none!important}
.nav-morph-layer .morph-plane.is-folder{background:#fff}

/* Project decks use the same direct photographs as the Overview queue. */
.vector-folder.project-photo{border:1px solid #a1a3a0;background:#fff;overflow:hidden;box-shadow:2px 5px 8px #18201813,10px 16px 28px #18201814}
.vector-folder.project-photo[data-kind=project] .folder-art{inset:0;width:100%;height:100%;background:#f1f1ee}
.project-transfer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;contain:layout style}
.project-transfer-wire{transform-box:view-box;transform-origin:0 0;will-change:transform,opacity}

/* Backing sheets convey a group without loading additional photographs. */
.vector-folder.project-backing{background:#fff;box-shadow:1px 2px 5px #1820180d}

/* Each category keeps its own title band; long names never enter the next column. */
.archive-labels .category-label{font-size:clamp(11px,1vw,14px);line-height:1.35;font-weight:400;white-space:normal;text-align:left;gap:8px;padding:0;transform:translateY(calc(-100% - 12px))}
.category-label span{display:block;max-width:100%;overflow-wrap:break-word;text-wrap:balance}
.category-label i{height:28px;margin-left:12px;background:#b9bbb5}
@media(max-width:700px){
 body[data-mode=category] main{overflow:hidden}
 .archive-labels .category-label{font-size:11px;line-height:1.35;letter-spacing:.025em;gap:6px;min-height:0;align-items:center;text-align:center;transform:translateY(calc(-100% - 6px))}
 .category-label span{min-height:28px;display:flex;align-items:flex-end;justify-content:center;text-wrap:balance}
 .category-label i{height:10px;margin-left:0;flex:none}
 body[data-mode=category] header{position:fixed;background:#fff;backdrop-filter:none}
 body[data-mode=category] header::before{content:'';position:absolute;inset:-24px -18px -14px;background:#fff;z-index:-1}
 body[data-mode=category] footer{position:fixed;left:0;right:0;bottom:0;width:auto;max-width:none;margin:0;padding:14px 18px;background:#fff}
}

/* Contact is a quiet, immediate destination while its next design is developed. */
.contact-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 36px));text-align:center;color:#080808;z-index:15}
.contact-panel h1{font-size:24px;font-weight:500;line-height:1.5;margin:0 0 20px}
.contact-panel a{display:block;font-size:13px;line-height:2;color:inherit;text-decoration:none}
.contact-panel a:hover{text-decoration:underline}
body[data-mode=contact] .archive-labels,body[data-mode=contact] footer,body[data-mode=contact] .ambient-field{display:none!important}
@media(max-width:700px){.contact-panel h1{font-size:20px}.contact-panel a{font-size:12px}}
