.theme-hybrid{--bg:#ece8df;--fg:#272c27;--muted:#72786c;--line:#c7c9bc;--accent:#9b6d49;--display:'Cormorant Garamond',Georgia,serif;--body:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.2,.75,.2,1);--reveal-distance:55px;--reveal-time:1100ms;--image-scale:1.1}
.theme-hybrid[data-motion=subtle]{--reveal-distance:18px;--reveal-time:650ms;--image-scale:1.035}
.theme-hybrid .site-header{position:absolute;inset:0 0 auto;z-index:8;border:0;color:#eeede6;padding:28px 4.5%;transition:background .5s,color .5s,padding .5s;gap:35px}.theme-hybrid .site-header .brand{font-size:38px}.theme-hybrid .site-header .brand-dot{color:#c0a287}.theme-hybrid .site-header nav{font-size:10px;gap:30px}.theme-hybrid .site-header .header-location{font-size:8px}.theme-hybrid .site-header.scrolled{position:fixed;background:#ece8dff2;color:var(--fg);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding-top:16px;padding-bottom:16px}.theme-hybrid .site-header.scrolled .brand{font-size:31px}.hybrid-hero{height:100svh;min-height:670px;background:#141614;color:#eeede6;overflow:hidden;isolation:isolate}.hybrid-visual{position:absolute;inset:-5%;overflow:hidden;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.02);will-change:transform}.hybrid-visual img,.hybrid-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:translateY(var(--hero-drift,0px)) scale(1.08);transition:opacity .85s ease}.hybrid-visual video{opacity:0;transform:translateY(var(--hero-drift,0px)) scale(1.2)}.hybrid-visual.video-ready video{opacity:1}.hybrid-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,13,.94),transparent 75%,rgba(9,12,12,.45));pointer-events:none}.hybrid-mask{position:absolute;inset:0;width:100%;height:100%;transform:scale(var(--mask-scale,1));transform-origin:50% 50%;opacity:var(--mask-opacity,1);will-change:transform,opacity}.hybrid-mask text{font:900 365px 'DM Sans',Arial,sans-serif;letter-spacing:-20px}.hybrid-top{position:absolute;top:160px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;font:8px/1.8 var(--mono);letter-spacing:.07em;opacity:var(--hero-type-opacity,1)}.hybrid-bottom{position:absolute;left:4.5%;right:4.5%;bottom:40px;display:flex;justify-content:space-between;align-items:flex-end;gap:25px;opacity:var(--hero-type-opacity,1)}.hero-statement{font:8px/1.8 var(--mono);letter-spacing:.05em}#hybrid-enter{padding:0;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 40px;font-size:23px;font-weight:400;letter-spacing:-.04em;transition:transform .3s var(--ease)}#hybrid-enter .button-arrow{font-size:35px;transition:transform .45s var(--ease)}#hybrid-enter:hover .button-arrow{transform:translate(4px,-4px)}#hybrid-enter small{grid-column:1/-1;font:7px var(--mono);letter-spacing:.13em;margin-top:15px;color:#aaaec0}#hybrid-pause{font:8px var(--mono);padding:8px 0}.hybrid-cinema-type{position:absolute;left:8%;bottom:170px;opacity:var(--hero-type-opacity,1);transform:translateY(var(--hero-text-shift,0px));will-change:transform,opacity}.hybrid-cinema-type h1{font:400 clamp(90px,11.8vw,185px)/.79 var(--display);letter-spacing:-.06em;margin-top:27px}.hero-line{display:block}.hybrid-cinema-type .kicker{font-size:8px}.hybrid-cinema-type h1 em{font-weight:400;color:#e4d7c8}.hybrid-cutout-caption{position:absolute;left:4.5%;right:4.5%;top:76%;display:flex;align-items:center;justify-content:space-between;opacity:var(--hero-type-opacity,1)}.hybrid-cutout-caption>span{font:8px var(--mono);letter-spacing:.1em}.hybrid-cutout-caption em{font:italic 23px var(--display);color:#c3c9bc}.theme-hybrid[data-opening=cinema] .hybrid-mask,.theme-hybrid[data-opening=cinema] .hybrid-cutout-caption{display:none}.theme-hybrid[data-opening=cutout] .hybrid-cinema-type{display:none}.hero-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;transform:scaleX(var(--hero-progress,0));transform-origin:left;background:#c4a17b}.theme-hybrid:not(.motion-started) .hybrid-visual{transform:none}.theme-hybrid[data-motion=off] .hero-progress{display:none}
.hybrid-introduction{padding:100px 6% 80px;display:grid;grid-template-columns:1.5fr 1fr;gap:35px 8%;position:relative}.hybrid-introduction>.kicker{grid-column:1/-1;font-size:8px;color:var(--muted)}.hybrid-introduction h2{font:400 clamp(45px,5.6vw,90px)/.98 var(--display);letter-spacing:-.045em}.hybrid-introduction h2 em{font-weight:400;color:var(--accent)}.hybrid-intro-note{align-self:end;font-size:12px;line-height:1.8;display:grid;grid-template-columns:30px 1fr;gap:20px;color:var(--muted)}.intro-cross{font-size:30px;color:var(--accent);line-height:1}.hybrid-intro-note a{grid-column:2;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:11px;color:var(--fg);display:flex;justify-content:space-between}.hybrid-intro-note a span{font-size:20px}
.theme-hybrid .work-section{margin:15px 6% 120px}.theme-hybrid .work-heading{border-top:1px solid var(--line);padding-top:30px;margin-bottom:28px}.theme-hybrid .work-heading h2{font-size:70px;letter-spacing:-.055em}.theme-hybrid .work-heading .kicker{font-size:8px;color:var(--muted)}.theme-hybrid .work-aside{font-size:11px}.theme-hybrid .filters{border:0;padding-bottom:35px;gap:28px}.theme-hybrid .filters button{font-size:10px}.theme-hybrid .filters button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.theme-hybrid .work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:75px 5%;align-items:start;counter-reset:hybrid-project}.theme-hybrid .work-card{grid-column:span 6;counter-increment:hybrid-project;position:relative}.theme-hybrid .work-card:nth-child(5n+1){grid-column:span 5}.theme-hybrid .work-card:nth-child(5n+2){grid-column:span 7;margin-top:100px}.theme-hybrid .work-card:nth-child(5n+3){grid-column:1/-1}.theme-hybrid .work-card:nth-child(5n+4){grid-column:span 7}.theme-hybrid .work-card:nth-child(5n){grid-column:span 5;margin-top:65px}.theme-hybrid .card-picture{aspect-ratio:1.25;overflow:hidden;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s var(--ease);background:#d2d1c6}.theme-hybrid .work-card[data-id=portraits] .card-picture{aspect-ratio:.8}.theme-hybrid .work-card:nth-child(5n+3) .card-picture{aspect-ratio:2.35}.theme-hybrid .work-card[data-id=eterna] .card-picture{aspect-ratio:1920/940}.theme-hybrid .card-picture img{transform:translateY(var(--image-shift,0px)) scale(var(--image-scale));transition:transform .9s var(--ease);object-position:50% 50%}.theme-hybrid .work-card[data-id=portraits] img{object-position:50% 35%}.theme-hybrid[data-effects-parallax="0"] .card-picture img{transform:scale(1)}.theme-hybrid .work-card:hover img{transform:translateY(var(--image-shift,0px)) scale(calc(var(--image-scale) + .035))}.theme-hybrid .card-caption{margin-top:18px;align-items:flex-start}.theme-hybrid .card-caption h3{font:400 34px/1 var(--display);letter-spacing:-.035em}.theme-hybrid .card-caption p{font-size:10px;margin-top:9px}.theme-hybrid .card-number{font-size:8px}.theme-hybrid .card-type{background:transparent;color:#fff;font-size:7px;left:15px;top:15px;text-shadow:0 1px 8px #000}.theme-hybrid .card-icon{display:none}.hybrid-hover{position:absolute;z-index:2;left:var(--cursor-x,50%);top:var(--cursor-y,50%);width:67px;height:67px;border-radius:50%;display:grid;place-items:center;font:8px var(--mono);letter-spacing:.05em;background:#ece8dfe8;color:#272c27;backdrop-filter:blur(8px);transform:translate(-50%,-50%) scale(.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .4s var(--ease)}.work-card:hover .hybrid-hover{opacity:1;transform:translate(-50%,-50%) scale(1)}.theme-hybrid[data-effects-hover="0"] .hybrid-hover{display:none}.theme-hybrid[data-effects-hover="0"] .card-picture{transform:none}.theme-hybrid[data-effects-hover="0"] .work-card:hover img{transform:translateY(var(--image-shift,0px)) scale(var(--image-scale))}
.theme-hybrid .about{padding:70px 0 100px;margin:0 6%;border-top:1px solid var(--line)}.theme-hybrid .about .kicker{font-size:8px;color:var(--muted)}.theme-hybrid .about h2{font-size:110px;font-weight:400;letter-spacing:-.06em;line-height:.85}.theme-hybrid .about h2 em{font-weight:400;color:var(--accent)}.theme-hybrid .about-layout{gap:10%;margin-top:45px}.theme-hybrid .about-layout .about-lead{font:400 35px/1.1 var(--display);letter-spacing:-.025em}.theme-hybrid .about-layout p{font-size:13px;line-height:1.8}.theme-hybrid .about-layout .about-small{font-size:10px}.theme-hybrid .contact-links a{font-size:13px;position:relative;overflow:hidden}.theme-hybrid .contact-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.theme-hybrid .contact-links a:hover::after{transform:scaleX(1)}.theme-hybrid footer{margin:0 6%;padding:35px 0}.theme-hybrid .project-heading h2{font-size:75px}.theme-hybrid dialog .project-heading{margin-bottom:35px}.theme-hybrid .film-player{height:68dvh}.theme-hybrid .photo-stage img{height:68dvh}.theme-hybrid .dialog-top{border-bottom:1px solid var(--line);padding-bottom:20px}
.theme-hybrid.motion-enabled[data-effects-reveal="1"] .reveal-target{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--reveal-time) var(--ease),transform var(--reveal-time) var(--ease);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.theme-hybrid.motion-enabled[data-effects-reveal="1"] .reveal-target.is-visible{opacity:1;transform:translateY(0)}.theme-hybrid.motion-enabled[data-effects-reveal="1"] .work-card.reveal-target .card-picture{clip-path:inset(9% 0 9% 0);transition:clip-path calc(var(--reveal-time) * 1.15) var(--ease),transform .65s var(--ease)}.theme-hybrid.motion-enabled[data-effects-reveal="1"] .work-card.reveal-target.is-visible .card-picture{clip-path:inset(0)}.theme-hybrid .hybrid-intro-note .intro-cross{transform:rotate(var(--cross-rotation,0deg))}
@media(max-width:900px){.hybrid-top{top:125px}.theme-hybrid .site-header nav{gap:18px;font-size:9px}.theme-hybrid .header-location{display:none}.hybrid-introduction{padding:75px 6% 60px;grid-template-columns:1fr;gap:30px}.hybrid-intro-note{max-width:320px;justify-self:end}.theme-hybrid .work-grid{gap:50px 5%}.theme-hybrid .card-caption h3{font-size:29px}.theme-hybrid .work-card:nth-child(5n+2){margin-top:65px}.hybrid-bottom{bottom:30px}.hybrid-cutout-caption em{font-size:20px}.theme-hybrid .about h2{font-size:90px}}
@media(max-width:600px){.theme-hybrid .site-header{position:absolute;padding:24px 6%;gap:15px}.theme-hybrid .site-header .brand{font-size:30px}.theme-hybrid .site-header nav{max-width:230px;font-size:8px;gap:6px 13px;justify-content:flex-end}.theme-hybrid .site-header.scrolled{padding:14px 6%;position:fixed}.theme-hybrid .site-header.scrolled .brand{font-size:26px}.hybrid-hero{min-height:660px;height:100svh}.hybrid-top{left:6%;right:6%;top:125px;font-size:7px;gap:25px}.hybrid-top>span{max-width:145px}.hybrid-top>span:last-child{text-align:right;max-width:105px}.hybrid-cinema-type{left:7%;bottom:200px}.hybrid-cinema-type h1{font-size:23vw;line-height:.85;letter-spacing:-.055em}.hybrid-cinema-type .kicker{font-size:7px}.hybrid-bottom{left:6%;right:6%;bottom:30px;flex-wrap:wrap;gap:25px}.hero-statement{width:100%;font-size:7px}#hybrid-enter{font-size:20px;gap:0 25px}#hybrid-enter .button-arrow{font-size:28px}#hybrid-enter small{font-size:6px}#hybrid-pause{font-size:7px}.hybrid-cutout-caption{left:6%;right:6%;top:66%}.hybrid-cutout-caption>span{font-size:7px}.hybrid-cutout-caption em{font-size:19px}.hybrid-introduction{padding:60px 6% 45px;gap:25px}.hybrid-introduction>.kicker{font-size:7px}.hybrid-introduction h2{font-size:43px;line-height:1.02}.hybrid-intro-note{justify-self:start;font-size:11px;max-width:270px}.theme-hybrid .work-section{margin:10px 6% 65px}.theme-hybrid .work-heading h2{font-size:53px}.theme-hybrid .work-heading .kicker{font-size:7px}.theme-hybrid .work-grid{grid-template-columns:1fr;gap:40px}.theme-hybrid .work-card,.theme-hybrid .work-card:nth-child(n){grid-column:1;margin-top:0}.theme-hybrid .card-picture,.theme-hybrid .work-card:nth-child(5n+3) .card-picture{aspect-ratio:1.2}.theme-hybrid .work-card[data-id=portraits] .card-picture{aspect-ratio:.8}.theme-hybrid .work-card[data-id=eterna] .card-picture{aspect-ratio:1920/940}.theme-hybrid .filters{gap:8px 15px;padding-bottom:23px}.theme-hybrid .filters button{font-size:9px}.theme-hybrid .card-caption h3{font-size:30px}.theme-hybrid .card-number{font-size:7px}.theme-hybrid .about{margin:0 6%;padding:45px 0 60px}.theme-hybrid .about h2{font-size:85px}.theme-hybrid .about-layout{gap:35px;margin-top:35px}.theme-hybrid .about h2 br{display:block}.theme-hybrid .about h2 em{margin-left:0}.theme-hybrid .about-layout .about-lead{font-size:33px}.theme-hybrid .about-layout p{font-size:12px}.theme-hybrid .project-heading h2{font-size:45px}.theme-hybrid .photo-stage img{height:57dvh}.theme-hybrid .film-player{height:62dvh}.hybrid-hover{display:none}.theme-hybrid .card-picture{transform:none}.theme-hybrid footer{margin:0 6%}}
.theme-hybrid .hybrid-hero{min-height:min(670px,100svh)}
@media(max-width:600px){.hybrid-cinema-type h1{font-size:20vw}}
@media(prefers-reduced-motion:reduce){.theme-hybrid .reveal-target{opacity:1!important;transform:none!important;clip-path:none!important}.hybrid-visual,.hybrid-visual img,.hybrid-mask,.hybrid-cinema-type{transform:none!important;opacity:1!important}.hybrid-visual video{display:none}.theme-hybrid .work-card .card-picture{clip-path:none!important;transform:none!important}.hybrid-hover{display:none}}
/* Layered cover images retain the existing hover and scroll treatment. */
.theme-hybrid .card-picture .album-frame{position:absolute;inset:0;display:block;pointer-events:none;overflow:hidden}
.theme-hybrid .card-picture .album-frame img{width:100%;height:100%;object-fit:cover;display:block}
.theme-hybrid .card-picture>.card-type{z-index:3}
.theme-hybrid .card-picture{isolation:isolate}
.theme-hybrid .card-picture::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#0005,transparent 30%,transparent 65%,#0003);opacity:1;transition:none}
.theme-hybrid .card-picture img{object-position:50% var(--cover-focus,50%)}
.theme-hybrid .card-picture img[data-manual-crop="1"],.theme-hybrid #hybrid-photo[data-manual-crop="1"]{transform:scale(var(--crop-zoom))!important;transition:none!important;object-fit:cover}
/* A manual opening crop is measured against the viewport, without camera drift. */
.hybrid-visual.has-manual-crop{inset:0;transform:none!important}
.hybrid-visual.has-manual-crop video{transform:translateY(var(--hero-drift,0px)) scale(1.3464)}
.theme-hybrid .work-card[data-id=portraits] img{object-position:50% var(--cover-focus,35%)}
.theme-hybrid .hybrid-hover{z-index:4}
.theme-hybrid .card-animation{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;z-index:1;pointer-events:none}
.theme-hybrid .animation-playing .card-animation{opacity:0}
.theme-hybrid .animation-playing .card-animation.is-current{opacity:1}
.theme-hybrid .animation-playing .card-picture>img{visibility:hidden;opacity:0;transition:none}
.theme-hybrid .card-animation{background:#eadfe2}
.theme-hybrid .work-card:not([data-id=manga]) .card-animation{object-fit:cover;object-position:50% var(--cover-focus,50%);background:#141614}
.theme-hybrid .work-card[data-kind=animation] .card-animation{object-fit:cover;object-position:50% 50%;background:#eadfe2}
.theme-hybrid .work-card[data-kind=animation] .card-picture>img{object-fit:cover;object-position:50% 50%;background:#eadfe2}
.theme-hybrid .work-card[data-id=manga] .card-animation,.theme-hybrid .work-card[data-id=manga] .card-picture>img{object-position:50% 35%}
.theme-hybrid .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.theme-hybrid .work-section>.filters{border-top:1px solid var(--line);padding-top:18px}
.film-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start}
.hybrid-visual{z-index:0}.hybrid-gradient{z-index:1;opacity:1;transition:none}.hybrid-mask{z-index:2}.hybrid-top,.hybrid-bottom,.hybrid-cinema-type,.hybrid-cutout-caption{z-index:3}
.photo-controls #original-photo{font:9px var(--mono);margin-left:20px;border-bottom:1px solid var(--line);padding:8px 0}
.hero-progress{z-index:4}
.intro-replay[hidden]{display:none}
#pause-album-covers{display:block;margin:-16px 0 30px auto;font:8px var(--mono);color:var(--muted);padding:8px 0;border-bottom:1px solid var(--line)}
#pause-album-covers[hidden]{display:none}
/* Higher detail and a raised composition apply only to the opening photograph. */
.hybrid-visual #hybrid-photo[data-hero="1"]{object-position:50% 65%;transform:translateY(calc(var(--hero-drift,0px) - 4vh)) scale(1.025)}
.intro-replay{position:fixed;right:22px;bottom:20px;z-index:9;display:flex;align-items:center;gap:7px;border:1px solid #e8e4d444;border-radius:30px;padding:9px 13px;background:#11181299;backdrop-filter:blur(12px);color:#eee9dd;font:10px 'Space Mono',monospace;letter-spacing:0;cursor:pointer}
.past-opening .intro-replay{background:#ece8dff2;color:#635342;border-color:#b6af9c}.intro-replay:hover{border-color:#bd9c75}.intro-replay:focus-visible{outline:2px solid #c5a37e;outline-offset:4px}body:has(#project-dialog[open]) .intro-replay{visibility:hidden}
/* Fixed paper stage: switching ratios never moves the album controls. */
.theme-hybrid .photo-stage{height:min(68dvh,780px);padding:18px 18px 30px;display:flex;align-items:center;justify-content:center;background:#f8f6ef;border:1px solid #d9d8cb;overflow:hidden}
.theme-hybrid .photo-stage img{display:block;width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;background:transparent}
@media(max-width:600px){.intro-replay{right:14px;bottom:14px;font-size:8px;padding:8px 10px}.theme-hybrid .photo-stage{height:57dvh;padding:10px 10px 20px}.theme-hybrid .photo-stage img{height:100%}}
/* Readable categories with comfortable targets, including the work filters. */
.theme-hybrid .site-header nav{font-size:14px;gap:26px;font-weight:500;line-height:1.35}
.theme-hybrid .site-header nav a{min-height:44px;display:flex;align-items:center;padding:10px 2px}
.theme-hybrid .filters{gap:12px 26px}
.theme-hybrid .filters button{font-size:14px;min-height:44px;padding:10px 2px;line-height:1.4}
@media(max-width:900px){.theme-hybrid .site-header{gap:22px}.theme-hybrid .site-header nav{font-size:13px;gap:18px}}
@media(max-width:600px){
  html:has(body.theme-hybrid){scroll-padding-top:120px}
  .theme-hybrid .site-header{flex-wrap:nowrap;gap:14px;padding:17px 6%}
  .theme-hybrid .site-header nav{display:flex;flex-wrap:nowrap;gap:12px;flex-basis:auto;max-width:none;width:auto;font-size:12px}
  .theme-hybrid .site-header nav a{justify-content:center;text-align:center;white-space:nowrap;min-height:44px;padding:6px 0}
  .theme-hybrid .site-header.scrolled{padding:10px 6%;gap:14px}
  .hybrid-top{top:125px}
  .theme-hybrid .filters{gap:6px 18px;padding-bottom:24px}
  .theme-hybrid .filters button{font-size:13px}
}
@media(max-width:360px){.theme-hybrid .site-header,.theme-hybrid .site-header.scrolled{padding-left:4.5%;padding-right:4.5%;gap:8px}.theme-hybrid .site-header nav{font-size:11.5px;gap:8px}}
