/* An editorial journey through the author's photographs. */
body[data-work]{--accent:#c5a059;--experience-ease:cubic-bezier(.16,1,.3,1);padding-bottom:6rem}
body[data-work="norteamerica-pelicano"]{--accent:#d8a85b}body[data-work="m42"]{--accent:#c6a5b5}body[data-work="el-velo"]{--accent:#83bdb7}body[data-work="roseta"]{--accent:#c98f7b}
.work-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:70;pointer-events:none}
.work-coordinate{position:fixed;right:.75rem;top:48%;writing-mode:vertical-rl;font-size:.625rem;letter-spacing:.24em;color:#ffffff50;z-index:5;pointer-events:none}
.work-edition{display:inline-flex;gap:1rem;align-items:center;font:400 .6875rem/1.6 var(--sans);letter-spacing:.2em;color:var(--accent);margin-bottom:1.8rem}
.work-edition:before{content:"";width:2rem;height:1px;background:currentColor}
body[data-work] .hero .hero-content{padding-top:clamp(9rem,18svh,14rem)}
body[data-work] .hero .hero-image{will-change:transform;transform:translate3d(0,var(--hero-y,0px),0) scale(var(--hero-scale,1.025));transform-origin:60% 45%}
body[data-work] .hero .hero-content h1{max-width:14ch;letter-spacing:-.065em}
.experience-live .hero-content>*{animation:work-arrive 1.25s var(--experience-ease) both}
.experience-live .hero-content .eyebrow{animation-delay:.08s}.experience-live .hero-content h1{animation-delay:.16s}.experience-live .hero-content .hero-lead{animation-delay:.25s}.experience-live .hero-content .text-link{animation-delay:.33s}
@keyframes work-arrive{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.light-sequence{height:190svh;position:relative;background:#080909;margin-block:0 2rem}
.light-sticky{position:sticky;top:0;height:100svh;min-height:34rem;overflow:hidden;isolation:isolate;display:grid;align-items:center;padding:var(--page-gutter)}
.light-image{position:absolute;inset:0;z-index:-3;clip-path:inset(var(--light-inset,14%) round var(--light-radius,24px));transform:scale(var(--light-scale,1.12));will-change:transform,clip-path}
.light-image img{width:100%;height:100%;object-fit:cover}
.light-sticky:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080909b8,transparent 35%,#0809091a 65%,#08090999),linear-gradient(90deg,#08090955,transparent 75%);pointer-events:none}
.light-grid{position:absolute;inset:5%;z-index:-2;opacity:.24;background:linear-gradient(90deg,transparent calc(50% - .5px),#ffffff50 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),#ffffff50 50%,transparent calc(50% + .5px));pointer-events:none}
.light-grid:before,.light-grid:after{content:"";position:absolute;inset:20% 30%;border:1px solid #ffffff50;border-radius:50%}.light-grid:after{inset:8% 19%;border-style:dashed;transform:rotate(var(--light-angle,0deg))}
.light-top,.light-bottom{position:absolute;left:var(--page-gutter);right:var(--page-gutter);display:flex;align-items:end;justify-content:space-between;gap:2rem}
.light-top{top:2rem;font:400 .6875rem/1.7 var(--sans);letter-spacing:.16em;color:#e2e2d2}
.light-sticky h2{font:500 clamp(4rem,14vw,15rem)/.88 var(--sans);letter-spacing:-.085em;color:#f1eee6;margin:0;transform:translateY(var(--light-title-y,0px));opacity:var(--light-title-opacity,1);will-change:transform,opacity;pointer-events:none}
.light-sticky h2 em{font-family:var(--serif);font-weight:400;color:#e2d2b9;letter-spacing:-.085em}
.light-bottom{bottom:2.5rem}.light-bottom p{font:400 clamp(.9375rem,1.1vw,1.15rem)/1.8 var(--sans);max-width:30ch}.light-bottom p span{color:#c8c7bd}
.light-enter{font-size:.8125rem;padding:.9rem 0;border-bottom:1px solid #ffffff80;display:flex;gap:2rem;align-items:center}.light-enter span{font-size:1.5rem;color:var(--accent)}
.light-marker{position:absolute;right:var(--page-gutter);top:45%;font:400 .6875rem var(--sans);letter-spacing:.16em;color:#e8e5da;writing-mode:vertical-rl}
body[data-work] .collection{padding-top:clamp(3rem,7vw,8rem)}
body[data-work] .section-top{position:relative;border-top-color:#ffffff35}
body[data-work] .section-top:before{content:"";position:absolute;left:0;top:-1px;width:3rem;height:2px;background:var(--accent)}
body[data-work] .section-intro h2{font-size:clamp(2.75rem,6vw,6.8rem);line-height:1.02;letter-spacing:-.055em}
body[data-work] .work-main{position:relative}.work-main .photo-button{border-radius:4px;box-shadow:0 30px 100px #0005}
.experience-live .experience-reveal{opacity:0;transform:translate3d(0,32px,0);transition:opacity .95s var(--experience-ease),transform 1.2s var(--experience-ease);transition-delay:var(--reveal-delay,0ms)}
.experience-live .experience-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
body[data-work] .photo-button{isolation:isolate;transform:perspective(1400px) rotateX(var(--photo-rx,0deg)) rotateY(var(--photo-ry,0deg));transition:transform .6s var(--experience-ease);outline-offset:6px}
body[data-work] .photo-button:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(360px circle at var(--photo-x,50%) var(--photo-y,50%),#ffffff15,transparent 75%);z-index:1}
body[data-work] .photo-button:hover:after{opacity:1}
body[data-work] .photo-button .expand{z-index:2;min-width:6rem;background:#08090988;backdrop-filter:blur(12px);border-color:#ffffff80;transition:background .25s,color .25s}
body[data-work] .photo-button:hover .expand{background:#eae7dc;color:#080909}
body[data-work] .detail-grid{gap:clamp(2rem,7vw,7rem) clamp(1.5rem,5vw,5rem);margin-top:clamp(3rem,7vw,7rem)}
body[data-work] .detail-grid .work:nth-child(even){margin-top:clamp(3rem,9vw,9rem)}
body[data-work] .detail-grid .work:last-child:nth-child(odd){grid-column:1/-1;width:100%;max-width:38rem;justify-self:center}
body[data-work] .detail-grid .work-caption{align-items:baseline}.work-caption .index{color:var(--accent)}
body[data-work] .object-info{position:relative;isolation:isolate;margin-top:clamp(2rem,7vw,7rem);border-top:1px solid #ffffff15;background:radial-gradient(ellipse at 85% 15%,#b49a6210,transparent 60%)}
body[data-work] .object-info:before{content:attr(data-sky-code);position:absolute;right:var(--page-gutter);top:4rem;font:500 clamp(6rem,25vw,24rem)/1 var(--sans);letter-spacing:-.08em;color:#ffffff04;z-index:-1;pointer-events:none}
body[data-work] .astro-stats{gap:1px;background:#ffffff20;border:1px solid #ffffff20;overflow:hidden;border-radius:3px}
body[data-work] .astro-stat,body[data-work] .astro-stat+.astro-stat{background:#0d1010;padding:clamp(1.25rem,2.5vw,2.5rem);border:0;position:relative;transition:background .3s}
body[data-work] .astro-stat:hover{background:#151b19}
body[data-work] .astro-stat dd{color:#f0e8d8;font-size:clamp(1.5rem,2.6vw,2.9rem)}
body[data-work] .astro-stat dt{color:var(--accent)}
body[data-work] .object-origin h3{font-size:clamp(1.75rem,2.4vw,2.5rem)}
body[data-work] .sky-myth{border-color:#ffffff25;background:linear-gradient(135deg,#c5a05908,transparent)}
body[data-work] .myth-code{color:#c5a05990}
body[data-work] .capture-info{margin-top:3rem}
body[data-work] .equipment-grid{counter-reset:instrument;gap:1rem;border:0}
body[data-work] .equipment-item{counter-increment:instrument;position:relative;border:1px solid #ffffff1c;padding:2.2rem 1.5rem 1.75rem;background:linear-gradient(140deg,#ffffff06,transparent);border-radius:3px;transition:transform .4s var(--experience-ease),border-color .4s}
body[data-work] .equipment-item:before{content:counter(instrument,decimal-leading-zero);display:block;font:400 .6875rem var(--sans);color:var(--accent);margin-bottom:1.8rem;letter-spacing:.12em}
body[data-work] .equipment-item:after{content:"+";position:absolute;right:1.25rem;top:1.25rem;color:#ffffff40;font-size:1.3rem;font-weight:200}
body[data-work] .equipment-item:hover{transform:translateY(-5px);border-color:#c5a05977}
body[data-work] .capture-workflow{margin-block:1rem 3rem}
body[data-work] .band-label{border-radius:30px;padding:.7rem 1.2rem;background:#c5a05908}
.next-world{padding:clamp(2rem,5vw,5rem) var(--page-gutter) clamp(2rem,5vw,5rem);margin:auto;max-width:120rem}
.next-world-link{position:relative;display:flex;align-items:end;min-height:clamp(25rem,70svh,55rem);padding:clamp(1.5rem,4vw,4rem);overflow:hidden;isolation:isolate;background:#101414;border-radius:4px}
.next-world-link>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transition:transform 1.8s var(--experience-ease)}
.next-world-link:hover>img{transform:scale(1.05)}.next-world-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#080909dd,transparent 75%),linear-gradient(90deg,#08090977,transparent)}
.next-world-label{position:absolute;top:clamp(1.5rem,4vw,4rem);left:clamp(1.5rem,4vw,4rem);right:clamp(1.5rem,4vw,4rem);display:flex;justify-content:space-between;align-items:center;gap:1rem;font:400 .6875rem/1.7 var(--sans);letter-spacing:.12em}
.next-world-label>span:last-child{font-size:2rem;font-weight:200;border:1px solid #ffffff55;width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-content:center;transition:background .3s,color .3s}
.next-world-link:hover .next-world-label>span:last-child{background:#eae7dc;color:#080909}
.next-world h2{font:500 clamp(2.5rem,7vw,8rem)/1.02 var(--sans);letter-spacing:-.06em;max-width:14ch;margin-bottom:3rem}
.next-world-open{position:absolute;bottom:clamp(1.5rem,4vw,4rem);left:clamp(1.5rem,4vw,4rem);font-size:.875rem;display:flex;gap:2rem;align-items:center;color:#ddd8c9}
.work-dock{position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:.3rem;background:#151a17d9;border:1px solid #ffffff25;border-radius:50px;padding:.35rem;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 12px 60px #0005;max-width:calc(100% - 2rem)}
.work-dock a,.experience-toggle{white-space:nowrap;padding:.75rem 1rem;min-height:2.75rem;font:400 .75rem var(--sans);border-radius:40px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .3s,color .3s;color:#cfcec4}
.work-dock a.is-active{background:#e8e5da;color:#080909}
.work-dock a:hover,.experience-toggle:hover{background:#ffffff15}.work-dock a.is-active:hover{background:#fff}
.experience-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.experience-toggle[aria-pressed=true] .experience-dot{background:#777;box-shadow:none}
body.viewing .work-dock{opacity:0;pointer-events:none}
.experience-still .hero-image{transform:none!important}.experience-still .experience-reveal{opacity:1!important;transform:none!important;transition:none!important}.experience-still .hero-content>*{animation:none!important}
.experience-still .light-sequence{height:auto}.experience-still .light-sticky{position:relative;height:min(90svh,60rem);min-height:32rem}.experience-still .light-image{clip-path:inset(0)!important;transform:none!important}.experience-still .light-sticky h2{transform:none!important;opacity:1!important}.experience-still .photo-button{transform:none!important}.experience-still .equipment-item:hover{transform:none}
@media(max-width:64rem){.work-coordinate{display:none}.light-sequence{height:165svh}.light-sticky h2{font-size:clamp(4rem,16vw,10rem)}.light-top{font-size:.625rem;gap:1rem}.work-edition{font-size:.625rem;letter-spacing:.12em}.work-dock a,.experience-toggle{padding:.75rem .8rem}.next-world h2{font-size:clamp(2.5rem,8vw,5rem)}}
@media(max-width:40rem){body[data-work]{padding-bottom:6rem}.work-edition{margin-bottom:1.2rem}.work-edition:before{width:1.5rem}.light-sequence{height:140svh}.light-sticky{min-height:35rem}.light-sticky h2{font-size:clamp(4rem,18vw,7rem);line-height:.95}.light-top{top:1.5rem;align-items:start}.light-top span:last-child{max-width:11rem;text-align:right}.light-bottom{bottom:1.5rem;align-items:start;flex-direction:column;gap:1rem}.light-bottom p{font-size:.9375rem}.light-enter{font-size:.8125rem;gap:2rem}.light-marker{top:40%;font-size:.625rem}.light-grid:before{inset:25% 12%}.light-grid:after{inset:18% 2%}.detail-grid .work:nth-child(even){margin-top:0!important}.next-world{padding-inline:1rem}.next-world-link{min-height:30rem}.next-world h2{font-size:clamp(2.5rem,10vw,4rem)}.work-dock{bottom:.75rem;width:max-content;gap:0;padding:.25rem}.work-dock a,.experience-toggle{font-size:.6875rem;padding:.7rem .65rem}.experience-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.experience-toggle{width:2.75rem}.work-dock .experience-toggle:before{content:"⏸";font-size:.875rem}.experience-dot{display:none}.experience-toggle[aria-pressed=true]:before{content:"▶"}.experience-live .experience-reveal{transform:translateY(20px)}body[data-work] .equipment-item{padding:1.5rem 1rem}.equipment-item:before{margin-bottom:1.2rem!important}body[data-work] .section-intro h2{font-size:clamp(2.5rem,10vw,4rem)}}
@media(max-height:38rem) and (min-width:40.01rem){.light-sticky{min-height:28rem}.light-sticky h2{font-size:min(14vw,29svh)}.light-bottom{bottom:1.5rem}.light-top{top:1.5rem}.work-dock{bottom:.5rem}.light-sequence{height:170svh}}
@media(hover:none){body[data-work] .photo-button{transform:none!important}.photo-button:after{display:none}}
@media(prefers-reduced-motion:reduce){.experience-live .experience-reveal{opacity:1;transform:none;transition:none}.experience-live .hero-content>*{animation:none}.hero .hero-image{transform:none!important}.light-sequence{height:auto}.light-sticky{position:relative;height:90svh;min-height:32rem}.light-image{clip-path:inset(0)!important;transform:none!important}.light-sticky h2{transform:none!important;opacity:1!important}.photo-button,.equipment-item:hover,.next-world-link>img{transform:none!important;transition:none!important}}
/* Keep bottom captions above the floating chapter controls. */
body[data-work] .hero-bottom{bottom:6rem}.light-bottom{bottom:6.5rem}
@media(max-width:40rem){.light-bottom{bottom:6rem}.light-bottom p{max-width:28ch}.light-enter{padding-block:.6rem}body[data-work] .hero-content{padding-bottom:11rem}}
@media(max-height:38rem) and (min-width:40.01rem){.light-bottom{bottom:5.5rem}body[data-work] .hero-bottom{bottom:5rem}}

/* Carry the next photograph into its own page when the browser supports it. */
body[data-work="el-velo"] .hero-image,.next-world-link[data-next="el-velo"]>img{view-transition-name:project-el-velo}
body[data-work="m42"] .hero-image,.next-world-link[data-next="m42"]>img{view-transition-name:project-m42}
body[data-work="roseta"] .hero-image,.next-world-link[data-next="roseta"]>img{view-transition-name:project-roseta}
body[data-work="norteamerica-pelicano"] .hero-image,.next-world-link[data-next="norteamerica-pelicano"]>img{view-transition-name:project-norteamerica-pelicano}
::view-transition-group(project-el-velo),::view-transition-group(project-m42),::view-transition-group(project-roseta),::view-transition-group(project-norteamerica-pelicano){animation-duration:.9s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important}}
