/* A visual index with focused chapters. Native scrolling remains available. */
html.experience { scroll-behavior: auto; }
.chapter { padding: 40px 0 46px; min-height: calc(100svh - 112px); }
.chapter[hidden] { display: none !important; }
.experience .chapter.is-entering > .wrap { animation: chapter-arrive .5s cubic-bezier(.22,.7,.15,1) both; }
@keyframes chapter-arrive { from { opacity: 0; transform: translateX(22px); } to { opacity: 1; transform: none; } }
.experience .chapter .reveal { opacity: 1; transform: none; }
.pg-home .site-nav a { border-radius: 0; font-size: .85rem; padding-inline: 13px; }
.pg-home .site-nav a[aria-current="page"] { color: var(--signal); }
.pg-home .site-nav a.is-active::after,.pg-home .site-nav a[aria-current="page"]::after { display: none; }
.pg-home .site-nav a[aria-current="page"]::before { content: ''; width: 4px; height: 4px; background: var(--signal); margin-right: 8px; }
.chapter-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.chapter-heading .eyebrow { display:flex; line-height:1.5; }
.chapter-heading h2,.about-copy h2,.contact-chapter h2 { margin-top: 12px; font-size: clamp(2.2rem,3.7vw,3.65rem); font-weight: 650; line-height: 1.14; letter-spacing: -.055em; }
.chapter-heading > p { max-width: 26em; font-size: .87rem; color: var(--ink-2); }
.chapter .eyebrow { font-size: .65rem; letter-spacing: .14em; }
.entry { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,.8fr); align-items: center; gap: 56px; min-height: clamp(300px,calc(100svh - 390px),430px); height: auto; }
.entry h1 { font-size: clamp(2.5rem,4.45vw,4.05rem); font-weight: 680; letter-spacing: -.057em; line-height: 1.17; margin-top: 18px; }
.entry h1 em { color: var(--signal); font-style: normal; }
html[lang="en"] .entry h1 { max-width: 11em; }
.entry__lead { font-size: clamp(.95rem,1.2vw,1.1rem); color: var(--ink-2); line-height: 1.65; margin-top: 16px; }
.entry__evidence { display: inline-block; border-left: 2px solid var(--signal); padding-left: 12px; margin-top: 16px; color: var(--ink-2); font-size: .76rem; }
.entry__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 18px; font-size: .83rem; }
.entry__actions .btn { font-size: .85rem; padding: 12px 18px; min-height: 46px; }
.entry__portrait { display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 12px; height: clamp(280px,calc(100svh - 390px),395px); max-width: clamp(275px,23vw,310px); justify-self: end; width: 100%; position: relative; }
.entry__portrait img { height: 100%; min-height: 0; width: 100%; object-fit: cover; object-position: center 36%; }
.entry__portrait figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; font: 9px/1.6 var(--font-mono); letter-spacing: .08em; color: var(--ink-2); padding: 0; }
.entry__portrait figcaption span { white-space: nowrap; }
.index-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0 14px; border-top: 1px solid var(--line-2); padding-top: 15px; font-size: .7rem; }
.index-heading > p { font-weight: 600; }
.index-heading > span { color: var(--ink-3); }
.index-heading b { color: var(--signal); margin-left: 8px; font-size: 17px; }
.project-index { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 15px; }
.index-item { display: block; min-width: 0; }
.index-item figure { overflow: hidden; aspect-ratio: 2.35; }
.index-item figure > img,.index-item figure > svg { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: transform .35s ease,filter .35s ease; filter: saturate(.6); }
.index-item figcaption { display: none; }
.index-item > span { display: flex; align-items: baseline; gap: 8px; font-size: .76rem; white-space: nowrap; margin-top: 8px; }
.index-item i { font: 9px var(--font-mono); font-style: normal; color: var(--signal); }
.index-item:hover img,.index-item:hover svg,.index-item:focus-visible img,.index-item:focus-visible svg { transform: scale(1.06); filter: saturate(1); }
.index-item:hover > span,.index-item:focus-visible > span { color: var(--signal); }
.project-explorer { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.3fr); gap: clamp(24px,4vw,54px); align-items: start; }
.project-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.project-item { display: block; min-width: 0; border: 1px solid var(--line-2); background: #171719; transition: border-color .2s; }
.project-item.is-previewed { border-color: var(--signal); }
.project-item:hover,.project-item:focus-visible { border-color: var(--signal); }
.project-item figure { height: 84px; overflow: hidden; }
.project-item figure > img,.project-item figure > svg { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.project-item figcaption { display: none; }
.project-item__copy { padding: 10px 12px 12px; }
.project-item__name { display: flex; gap: 4px; justify-content: space-between; font-size: .9rem; line-height: 1.4; font-weight: 600; }
.project-item__name b { font-weight: 400; color: var(--signal); }
.project-item__copy p { margin-top: 7px; font-size: .7rem; color: var(--ink-2); line-height: 1.55; }
.project-item__copy p strong { font-weight: 500; color: inherit; }
.project-preview { min-width: 0; position: sticky; top: 88px; }
.project-preview figure { border: 1px solid #c9c4ba; }
.project-preview figure > img,.project-preview figure > svg { width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: contain; }
.project-preview figure.work-card__media--team > img { object-fit: cover; }
.project-preview__caption { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 19px 0; border-bottom: 1px solid var(--line-2); }
.project-preview__caption > span:first-child { font-size: 1.15rem; font-weight: 600; }
.project-preview__caption > span:last-child { font-size: .76rem; color: var(--signal); }
.project-preview > p { margin-top: 14px; font-size: .65rem; color: var(--ink-3); }
.project-preview.is-changing figure { animation: preview-arrive .24s ease both; }
@keyframes preview-arrive { from { opacity: .55; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.experiment-drawer { margin-top: 28px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.experiment-drawer > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 62px; font-size: .88rem; }
.experiment-drawer > summary::-webkit-details-marker { display: none; }
.experiment-drawer > summary span:last-child { color: var(--ink-3); font-size: .76rem; }
.experiment-drawer > summary b { display: inline-block; font-size: 20px; margin-left: 20px; color: var(--signal); transition: transform .2s; }
.experiment-drawer[open] > summary b { transform: rotate(45deg); }
.experiment-content { padding: 10px 0 28px; }
.experiment-content > .wrap { padding: 0; }
.experiment-content .shead { display: none; }
.experiment-content .lab { margin-top: 0; }
.experiment-content .lab__t { font-size: 1.25rem; }
.experiment-content .lab__d { font-size: .83rem; }
.thinking-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 38px; align-items: center; }
.thinking-layout .mind-engine { margin: 0; padding: 25px; border-radius: 3px; }
.thinking-view blockquote { margin-top: 20px; font-size: clamp(1.5rem,2.3vw,2.1rem); line-height: 1.4; font-weight: 600; letter-spacing: -.035em; }
.thinking-view > p:not(.eyebrow) { margin-top: 20px; font-size: .94rem; line-height: 1.8; color: var(--iv-ink-2); }
.thinking-essay { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid var(--iv-line-2); margin-top: 30px; font-size: .86rem; font-weight: 600; }
.thinking-essay span { color: var(--signal-iv); }
.about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.about-photo { position: relative; overflow: hidden; }
.about-photo img { width: 100%; height: 320px; object-fit: cover; object-position: 37% center; }
.about-photo figcaption { padding-top: 8px; color: var(--iv-ink-3); font: 8px var(--font-mono); letter-spacing: .1em; }
.about-copy h2 { font-size: clamp(2rem,3.4vw,3rem); }
.about-copy > p:not(.eyebrow) { margin-top: 16px; color: var(--iv-ink-2); font-size: .94rem; line-height: 1.7; }
.about-copy .about-tools { font-size: .75rem !important; color: var(--iv-ink-3) !important; }
.background { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; border-top: 1px solid var(--iv-line-2); margin-top: 35px; padding-top: 24px; }
.background-row h3 { font-size: .96rem; font-weight: 650; }
.background-row b { display: block; margin-top: 8px; font-size: .78rem; font-weight: 500; color: var(--iv-ink-2); }
.background-row p { margin-top: 8px; font-size: .8rem; color: var(--iv-ink-2); line-height: 1.6; }
.about-evidence { margin-top: 20px; font-size: .7rem; color: var(--iv-ink-3); }
.about-evidence summary { cursor: pointer; }
.about-evidence p { max-width: 70em; margin-top: 10px; }
.contact-chapter > .wrap { min-height: calc(100svh - 198px); display: flex; flex-direction: column; justify-content: center; align-items: start; }
.contact-chapter h2 { font-size: clamp(3rem,6vw,5.6rem); margin: 20px 0 34px; }
.contact-chapter .contact__big { font-size: clamp(1.5rem,2.8vw,2.65rem); margin: 0; }
.contact-chapter .contact__rows { width: 100%; margin-top: 40px; }
.pg-home .site-footer { padding: 13px 0; font-size: .65rem; }
.pg-home .site-footer .wrap { display: flex; justify-content: space-between; }
@media(min-width:1600px){.chapter{padding-top:55px}.entry{gap:80px}.entry__portrait{max-width:340px}.index-item figure{aspect-ratio:2.1}.project-item figure{height:105px}}
@media(max-width:1000px){.entry{gap:32px;grid-template-columns:1.4fr .7fr}.entry h1{font-size:clamp(2.4rem,4.35vw,3.7rem)}.entry__portrait{max-height:345px}.index-item > span{font-size:.65rem;gap:4px}.project-explorer{grid-template-columns:1fr 1fr;gap:24px}.project-item__name{font-size:.77rem}.project-item__copy{padding:9px}.thinking-layout{gap:25px}.thinking-layout .mind-engine{padding:20px}.about-layout{gap:32px}}
@media(max-width:760px){
 :root{--header-h:98px}.pg-home .site-header{height:98px}.pg-home .site-header .wrap{align-items:start;padding-top:5px}.pg-home .brand__text{display:inline}.pg-home .brand{font-size:.7rem;letter-spacing:.18em;min-height:42px}.pg-home .header-right{display:contents}.pg-home .lang{position:absolute;right:var(--gutter);top:5px;min-height:38px;height:38px}.pg-home .site-nav{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:46px;display:flex;justify-content:space-between;gap:0}.pg-home .site-nav a{font-size:.8rem;padding:0 6px}.pg-home .site-nav a[aria-current="page"]::before{margin-right:5px;width:3px;height:3px}
 .chapter{padding:26px 0 32px;min-height:calc(100svh - 141px)}.chapter-heading{margin-bottom:22px;display:block}.chapter-heading h2{font-size:2.15rem}.chapter-heading > p{margin-top:13px;font-size:.8rem}
 .entry{height:auto;min-height:0;grid-template-columns:minmax(0,1fr) 105px;gap:16px 18px}.entry__copy{display:contents}.entry__copy > .eyebrow{grid-column:1;grid-row:1;font-size:.5rem;line-height:1.5;letter-spacing:.07em}.entry__copy > .eyebrow::before{display:none}.entry h1{grid-column:1;grid-row:2;font-size:clamp(1.8rem,6.7vw,2.75rem);line-height:1.18;margin:0}.entry__portrait{grid-column:2;grid-row:1 / span 2;height:100%;max-height:190px;min-height:150px;align-self:stretch}.entry__portrait img{height:100%;object-position:50% 35%}.entry__portrait figcaption{display:none}.entry__lead{grid-column:1/-1;margin:3px 0 0;font-size:.9rem}.entry__lead br{display:none}.entry__evidence{grid-column:1/-1;margin-top:0;font-size:.68rem}.entry__actions{grid-column:1/-1;margin-top:2px;gap:18px}.entry__actions .btn{font-size:.77rem;min-height:44px;padding:11px 14px}.entry__actions .text-link{font-size:.76rem}
 .index-heading{margin:25px 0 12px;padding-top:14px;font-size:.65rem}.index-heading > span{max-width:17em;text-align:right;font-size:.6rem}.project-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 10px}.index-item figure{aspect-ratio:1.65}.index-item > span{font-size:.65rem;line-height:1.3;white-space:normal;gap:4px}.index-item i{font-size:8px}
 .project-explorer{display:block}.project-preview{display:none}.project-list{gap:17px 13px}.project-item figure{height:auto;aspect-ratio:1.6}.project-item__name{font-size:.92rem}.project-item__copy{padding:12px}.project-item__copy p{font-size:.72rem}.project-item.is-previewed{border-color:var(--line-2)}
 .thinking-layout{grid-template-columns:1fr;gap:30px}.thinking-layout .mind-engine{padding:22px 16px}.thinking-view blockquote{font-size:1.7rem}.thinking-view > p:not(.eyebrow){font-size:.9rem}.thinking-view blockquote br{display:none}.thinking-essay{margin-top:20px}
 .about-layout{grid-template-columns:1fr;gap:25px}.about-photo img{height:auto;aspect-ratio:16/9}.about-copy h2{font-size:2.1rem}.background{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:20px}.background-row{display:grid;grid-template-columns:1fr 1.3fr;gap:15px}.background-row b{margin-top:0}.background-row h3{font-size:.83rem}.background-row p{font-size:.76rem}
 .contact-chapter > .wrap{min-height:calc(100svh - 205px)}.contact-chapter h2{font-size:3.1rem}.contact-chapter .contact__rows{margin-top:30px}.contact-chapter .contact__big{font-size:1.6rem}
}
@media(max-width:360px){.entry{grid-template-columns:minmax(0,1fr) 82px;gap:13px}.entry h1{font-size:1.7rem}.entry__portrait{min-height:140px}.pg-home .site-nav a{font-size:.74rem;padding:0 3px}.index-item > span{font-size:.58rem}.project-list{grid-template-columns:1fr}.project-item{display:grid;grid-template-columns:110px 1fr}.project-item figure{height:100%;min-height:100px;aspect-ratio:auto}.project-item__name{font-size:.85rem}.background-row{grid-template-columns:1fr}.entry__evidence{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.experience .chapter.is-entering > .wrap,.project-preview.is-changing figure{animation:none}.index-item figure > img,.index-item figure > svg{transition:none}.index-item:hover img,.index-item:hover svg,.index-item:focus-visible img,.index-item:focus-visible svg{transform:none}}
/* Compact the work index independently of the former long-page spacing. */
.pg-home #work.chapter { padding-top: 32px; }
.project-item figure { height: 72px; }
.project-preview figure > img,.project-preview figure > svg { height: clamp(245px,calc(100svh - 355px),395px); aspect-ratio: auto; object-fit: contain; }
@media(max-width:760px){.pg-home #work.chapter{padding-top:26px}.project-item figure{height:auto}}
/* Keep labels inside real project thumbnails instead of cropping their tops. */
.index-item figure > img,.index-item figure > svg,.project-item figure > img,.project-item figure > svg { object-fit: contain; }
.index-item img[src*="gorda-"],.project-item img[src*="gorda-"] { object-fit: cover; object-position: center top; }
.index-item img[src*="/pantheon/"],.project-item img[src*="/pantheon/"] { object-fit: cover; object-position: center 35%; }
.thinking-view { align-self: start; padding-top: 24px; }
@media(max-width:760px){.thinking-view{padding-top:0}}
.experience[data-chapter="contact"] .site-footer a { visibility: hidden; }
/* The portrait caption occupies a real row, even when text grows or the viewport is short. */
@media(max-width:760px){.entry__portrait{grid-template-rows:minmax(0,1fr);gap:0;height:100%}}

/* A scene has independent layers. Shared project names carry the home index into work. */
.experience { --scene-sign:1; }
.experience[data-scene-direction="back"] { --scene-sign:-1; }
.experience #main { view-transition-name:chapter; }
.experience #home:not([hidden]) .entry h1 { view-transition-name:home-title; }
.experience #work:not([hidden]) .chapter-heading h2 { view-transition-name:work-title; }
.experience #mind:not([hidden]) .chapter-heading h2 { view-transition-name:mind-title; }
.experience #about:not([hidden]) .about-copy h2 { view-transition-name:about-title; }
.experience #contact:not([hidden]) .contact h2 { view-transition-name:contact-title; }
.experience #home:not([hidden]) .entry__portrait { view-transition-name:home-feature; }
.experience #work:not([hidden]) .project-preview { view-transition-name:work-feature; }
.experience #mind:not([hidden]) .mind-engine { view-transition-name:mind-feature; }
.experience #about:not([hidden]) .about-photo { view-transition-name:about-feature; }
.experience .chapter:not([hidden]) :is(.index-item,.project-item):nth-child(1) { view-transition-name:project-1; }
.experience .chapter:not([hidden]) :is(.index-item,.project-item):nth-child(2) { view-transition-name:project-2; }
.experience .chapter:not([hidden]) :is(.index-item,.project-item):nth-child(3) { view-transition-name:project-3; }
.experience .chapter:not([hidden]) :is(.index-item,.project-item):nth-child(4) { view-transition-name:project-4; }
.experience .chapter:not([hidden]) :is(.index-item,.project-item):nth-child(5) { view-transition-name:project-5; }
.experience .chapter:not([hidden]) :is(.index-item,.project-item):nth-child(6) { view-transition-name:project-6; }
html.scene-transitioning:not(.scene-fallback) .chapter.is-entering > .wrap { animation:none; }
html.scene-transitioning::view-transition { pointer-events:none; }
html.scene-transitioning::view-transition-group(*) { animation-duration:820ms; animation-timing-function:cubic-bezier(.22,.8,.16,1); }
html.scene-transitioning::view-transition-old(root),html.scene-transitioning::view-transition-new(root) { animation:none; mix-blend-mode:normal; }
html.scene-transitioning::view-transition-image-pair(chapter),html.scene-transitioning::view-transition-image-pair(home-title),html.scene-transitioning::view-transition-image-pair(work-title),html.scene-transitioning::view-transition-image-pair(mind-title),html.scene-transitioning::view-transition-image-pair(about-title),html.scene-transitioning::view-transition-image-pair(contact-title),html.scene-transitioning::view-transition-image-pair(home-feature),html.scene-transitioning::view-transition-image-pair(work-feature),html.scene-transitioning::view-transition-image-pair(mind-feature),html.scene-transitioning::view-transition-image-pair(about-feature) { isolation:isolate; }
html.scene-transitioning::view-transition-old(chapter) { animation:scene-depth-out 190ms cubic-bezier(.2,.8,.2,1) both; }
html.scene-transitioning::view-transition-new(chapter) { animation:scene-depth-in 670ms 80ms cubic-bezier(.18,.8,.16,1) both; }
html.scene-transitioning::view-transition-group(home-title),html.scene-transitioning::view-transition-group(work-title),html.scene-transitioning::view-transition-group(mind-title),html.scene-transitioning::view-transition-group(about-title),html.scene-transitioning::view-transition-group(contact-title) { z-index:5; }
html.scene-transitioning::view-transition-old(home-title),html.scene-transitioning::view-transition-old(work-title),html.scene-transitioning::view-transition-old(mind-title),html.scene-transitioning::view-transition-old(about-title),html.scene-transitioning::view-transition-old(contact-title) { animation:scene-title-out 150ms ease-out both; }
html.scene-transitioning::view-transition-new(home-title),html.scene-transitioning::view-transition-new(work-title),html.scene-transitioning::view-transition-new(mind-title),html.scene-transitioning::view-transition-new(about-title),html.scene-transitioning::view-transition-new(contact-title) { animation:scene-title-in 620ms 90ms cubic-bezier(.16,.9,.18,1) both; }
html.scene-transitioning::view-transition-group(home-feature),html.scene-transitioning::view-transition-group(work-feature),html.scene-transitioning::view-transition-group(mind-feature),html.scene-transitioning::view-transition-group(about-feature) { z-index:3; }
html.scene-transitioning::view-transition-old(home-feature),html.scene-transitioning::view-transition-old(work-feature),html.scene-transitioning::view-transition-old(mind-feature),html.scene-transitioning::view-transition-old(about-feature) { animation:scene-feature-out 190ms ease-out both; }
html.scene-transitioning::view-transition-new(home-feature),html.scene-transitioning::view-transition-new(work-feature),html.scene-transitioning::view-transition-new(mind-feature),html.scene-transitioning::view-transition-new(about-feature) { animation:scene-feature-in 740ms 60ms cubic-bezier(.16,.85,.14,1) both; }
html.scene-transitioning::view-transition-group(project-1) { z-index:4; animation-duration:740ms; animation-delay:0ms; }
html.scene-transitioning::view-transition-old(project-1) { animation:scene-card-out 170ms 0ms ease-out both; }
html.scene-transitioning::view-transition-new(project-1) { animation:scene-card-in 600ms 120ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-transitioning::view-transition-group(project-2) { z-index:4; animation-duration:740ms; animation-delay:16ms; }
html.scene-transitioning::view-transition-old(project-2) { animation:scene-card-out 170ms 0ms ease-out both; }
html.scene-transitioning::view-transition-new(project-2) { animation:scene-card-in 600ms 140ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-transitioning::view-transition-group(project-3) { z-index:4; animation-duration:740ms; animation-delay:32ms; }
html.scene-transitioning::view-transition-old(project-3) { animation:scene-card-out 170ms 0ms ease-out both; }
html.scene-transitioning::view-transition-new(project-3) { animation:scene-card-in 600ms 160ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-transitioning::view-transition-group(project-4) { z-index:4; animation-duration:740ms; animation-delay:48ms; }
html.scene-transitioning::view-transition-old(project-4) { animation:scene-card-out 170ms 0ms ease-out both; }
html.scene-transitioning::view-transition-new(project-4) { animation:scene-card-in 600ms 180ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-transitioning::view-transition-group(project-5) { z-index:4; animation-duration:740ms; animation-delay:64ms; }
html.scene-transitioning::view-transition-old(project-5) { animation:scene-card-out 170ms 0ms ease-out both; }
html.scene-transitioning::view-transition-new(project-5) { animation:scene-card-in 600ms 200ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-transitioning::view-transition-group(project-6) { z-index:4; animation-duration:740ms; animation-delay:80ms; }
html.scene-transitioning::view-transition-old(project-6) { animation:scene-card-out 170ms 0ms ease-out both; }
html.scene-transitioning::view-transition-new(project-6) { animation:scene-card-in 600ms 220ms cubic-bezier(.16,.85,.2,1) both; }
@keyframes scene-depth-out {
 to { opacity:0; transform:perspective(1400px) translate3d(calc(var(--scene-sign) * -7%),-3%,0) rotateY(calc(var(--scene-sign) * 4deg)) scale(.92); }
}
@keyframes scene-depth-in {
 from { opacity:0; transform:perspective(1400px) translate3d(calc(var(--scene-sign) * 9%),3%,0) rotateY(calc(var(--scene-sign) * -5deg)) scale(1.04); }
 to { opacity:1; transform:none; }
}
@keyframes scene-title-out {
 to { opacity:0; transform:translate3d(calc(var(--scene-sign) * -70px),-22px,0) rotate(calc(var(--scene-sign) * -2deg)); }
}
@keyframes scene-title-in {
 from { opacity:0; clip-path:inset(0 0 100% 0); transform:translate3d(calc(var(--scene-sign) * 95px),38px,0) rotate(calc(var(--scene-sign) * 2deg)); }
 60% { opacity:1; clip-path:inset(-15% -5% -15% -5%); }
 to { opacity:1; clip-path:inset(-15% -5% -15% -5%); transform:none; }
}
@keyframes scene-feature-out {
 to { opacity:0; transform:perspective(1200px) translate3d(calc(var(--scene-sign) * -12%),-18px,0) rotateY(calc(var(--scene-sign) * 12deg)) rotateZ(calc(var(--scene-sign) * -2deg)) scale(.9); }
}
@keyframes scene-feature-in {
 from { opacity:0; transform:perspective(1200px) translate3d(calc(var(--scene-sign) * 18%),55px,0) rotateY(calc(var(--scene-sign) * -16deg)) rotateZ(calc(var(--scene-sign) * 2deg)) scale(.92); }
 42% { opacity:1; }
 to { opacity:1; transform:none; }
}
@keyframes scene-card-out {
 to { opacity:0; transform:perspective(800px) translateY(-25px) rotateX(14deg) scale(.94); }
}
@keyframes scene-card-in {
 from { opacity:0; transform:perspective(800px) translateY(60px) rotateX(-18deg) rotateZ(calc(var(--scene-sign) * 2deg)) scale(.9); }
 48% { opacity:1; }
 to { opacity:1; transform:none; }
}
/* Browsers without View Transitions use the same depth and staged arrivals. */
html.scene-fallback .chapter.is-leaving > .wrap { animation:scene-depth-out 180ms ease-in both; }
html.scene-fallback .chapter.is-entering > .wrap { animation:scene-depth-in 600ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-fallback .chapter.is-entering :is(.entry h1,.chapter-heading h2,.about-copy h2,.contact h2) { animation:scene-title-in 560ms 25ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-fallback .chapter.is-entering :is(.entry__portrait,.project-preview,.mind-engine,.about-photo) { animation:scene-feature-in 620ms 20ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item) { animation:scene-card-in 540ms cubic-bezier(.16,.85,.2,1) both; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item):nth-child(1) { animation-delay:0ms; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item):nth-child(2) { animation-delay:24ms; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item):nth-child(3) { animation-delay:48ms; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item):nth-child(4) { animation-delay:72ms; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item):nth-child(5) { animation-delay:96ms; }
html.scene-fallback .chapter.is-entering :is(.index-item,.project-item):nth-child(6) { animation-delay:120ms; }
@media(max-width:760px) {
 /* Keep the same rhythm at a smaller travel distance on handheld screens. */
 html.scene-transitioning::view-transition-new(home-feature),html.scene-transitioning::view-transition-new(work-feature),html.scene-transitioning::view-transition-new(mind-feature),html.scene-transitioning::view-transition-new(about-feature) { animation-name:scene-card-in; }
 html.scene-transitioning::view-transition-old(home-feature),html.scene-transitioning::view-transition-old(work-feature),html.scene-transitioning::view-transition-old(mind-feature),html.scene-transitioning::view-transition-old(about-feature) { animation-name:scene-card-out; }
}
@media(prefers-reduced-motion:reduce) {
 html.scene-transitioning::view-transition-group(*),html.scene-transitioning::view-transition-old(*),html.scene-transitioning::view-transition-new(*) { animation:none !important; }
 html.scene-fallback .chapter.is-entering *,html.scene-fallback .chapter.is-leaving > .wrap { animation:none !important; }
}
.footer-signature { display:flex; align-items:center; gap:18px; min-height:44px; }
.footer-signature [hidden] { display:none; }
.scene-guide { display:none; }
.experience .scene-guide { display:flex; align-items:center; gap:14px; min-height:34px; font-size:.7rem; color:var(--ink-2); }
.scene-guide__count { font:9px var(--font-mono); letter-spacing:.06em; color:var(--ink-3); }
.scene-guide__arrow { display:block; color:var(--signal); font-size:17px; line-height:1; }
.scene-guide:hover { color:var(--ink); }
.pg-home .site-footer .wrap { align-items:center; gap:20px; }
.pg-home .site-footer { padding:9px 0; }
.chapter { min-height:calc(100svh - var(--header-h) - 63px); overflow-x:clip; }
.home-chapter { padding-top:22px; padding-bottom:16px; }
.index-heading { margin:20px 0 10px; padding-top:12px; line-height:1.4; }
.index-heading b { line-height:1; }
.chapter :is(h1,h2)[tabindex="-1"]:focus { outline:none; }
@media(min-width:1001px){
 .pg-home #work.chapter{padding-top:20px;padding-bottom:18px}
 .work-chapter .chapter-heading{margin-bottom:18px}
 .work-chapter .chapter-heading h2{font-size:2.45rem;line-height:1.12;margin-top:8px}
 .work-chapter .project-item__copy{padding:8px 10px}
 .work-chapter .project-item__copy p{margin-top:5px;line-height:1.4}
 .work-chapter .project-preview__caption{padding:14px 0}
 .work-chapter .experiment-drawer{margin-top:16px}
 .work-chapter .experiment-drawer > summary{min-height:44px}
}
@media(min-width:761px) and (max-height:800px){
 .chapter:not(.home-chapter):not(.work-chapter){padding-top:24px;padding-bottom:24px}
 .chapter-heading{margin-bottom:20px}
 .chapter-heading h2{font-size:2.6rem;margin-top:8px}
 .thinking-layout .mind-engine{padding:20px}
}
.contact-chapter { display:flex; align-items:center; }
.contact-chapter > .wrap { min-height:0; }
@media(max-width:760px){.pg-home .site-footer .wrap{flex-wrap:wrap;gap:6px 16px}.pg-home .site-footer .wrap > a{display:none}.experience .scene-guide{margin-left:auto;font-size:.65rem;gap:10px}.footer-signature{gap:12px}.scene-guide__count{font-size:8px}}
@media(max-width:560px){.footer-signature > p{display:none}}
@media(prefers-reduced-motion:reduce){html.scene-transitioning::view-transition-group(chapter),html.scene-transitioning::view-transition-old(chapter),html.scene-transitioning::view-transition-new(chapter){animation:none}.experience .chapter.is-entering > .wrap{animation:none}}
