:root{color-scheme:dark;--bg:#0c0d0e;--ink:#f5f5f1;--muted:#b2b2af;--accent:#c65d24;--line:#363839;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-90px;background:white;color:black;padding:1rem;z-index:20}.skip:focus{top:0}header{position:absolute;top:0;width:100%;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:1.7rem 4vw;gap:2rem;background:linear-gradient(#000b,transparent)}.brand{display:flex;flex-direction:column;gap:.3rem}.brand strong{font-size:1.25rem;letter-spacing:-.05em}.brand span{font-size:.75rem;letter-spacing:.24em}nav{display:flex;gap:2rem;font-size:.875rem}nav a:hover{color:var(--accent)}.concept{font-size:.75rem;letter-spacing:.08em;border:1px solid #ffffff70;padding:.55rem .7rem}.hero{position:relative;height:max(760px,100svh);max-height:1200px;overflow:hidden;background:#17191a}.scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s}.scene.active{opacity:1;visibility:visible}.scene-main{position:absolute;inset:0 0 0 26%;overflow:hidden}.scene-main img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform 8s ease-out}.scene.active .scene-main img{transform:scale(1.045)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c0d0e 0%,#0c0d0eb0 24%,transparent 63%),linear-gradient(0deg,#0c0d0ee0,transparent 28%)}.scene-copy{position:absolute;left:7vw;top:23%;z-index:2}.eyebrow{font-size:.75rem;letter-spacing:.16em;line-height:1.6;color:var(--accent);font-weight:600}h1{font-size:clamp(4rem,8.4vw,9rem);line-height:.98;letter-spacing:-.065em;margin:1.4rem 0;font-weight:900}i{font-style:normal;color:var(--accent)}.inset{position:absolute;width:19%;right:6%;bottom:16%;transform:rotate(6deg);border:5px solid var(--ink);box-shadow:0 20px 60px #0009;background:var(--ink);z-index:3}.inset img{width:100%;height:auto;display:block}.inset span{display:block;color:#17191a;font-size:.75rem;font-weight:700;padding:.65rem .4rem;letter-spacing:.05em}.hero-bottom{position:absolute;bottom:2.5rem;left:4vw;right:4vw;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.8rem;letter-spacing:.1em}.slide-controls{display:flex;align-items:center;gap:1rem}.slide-controls button{color:white;background:#0003;border:1px solid #fff6;min-width:42px;min-height:42px;padding:.5rem}.slide-controls button:hover{background:var(--accent);color:black}.slide-controls span{min-width:4.2rem}.ribbon{background:var(--accent);color:#0c0d0e;display:flex;justify-content:space-around;gap:1rem;padding:1.5rem 4vw;font-size:clamp(1rem,2.4vw,2rem);font-weight:900;letter-spacing:-.04em}.work{padding:6rem 4vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.06;letter-spacing:-.055em;margin:1rem 0;font-weight:800}.section-head>p{font-size:1rem;color:var(--muted);line-height:1.7}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:1.5rem 0 2rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap}.filters button{border:1px solid var(--line);padding:.7rem 1rem;background:transparent;color:var(--muted);font-size:.875rem}.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#111}.filters button:hover{border-color:var(--accent)}#result-count{font-size:.8rem;color:var(--muted);white-space:nowrap}.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:stretch}.photo{margin:0;grid-column:span 4;min-width:0;animation:appear .5s ease both}.photo:nth-child(7n+1){grid-column:span 7}.photo:nth-child(7n+2){grid-column:span 5}.photo:nth-child(7n+6),.photo:nth-child(7n+7){grid-column:span 6}.photo[hidden]{display:none}.photo>a{position:relative;display:block;height:100%;overflow:hidden;cursor:zoom-in;min-height:440px;background:#151718}.photo img{display:block;width:100%;height:100%;max-height:780px;object-fit:cover;object-position:center 35%;transition:transform .7s}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:2rem;background:linear-gradient(transparent 48%,#000c)}.overlay span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.photo h3{font-size:clamp(1.3rem,2.2vw,2rem);letter-spacing:-.04em;margin:.55rem 2rem 0 0}.overlay b{position:absolute;right:1.5rem;bottom:1.7rem;font-size:1.8rem}.photo a:hover img{transform:scale(1.055)}.about{margin:1rem 4vw 7rem;display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;align-items:center}.about-images{position:relative;margin-right:3rem}.about-images>img{display:block;width:100%;height:auto}.about-inset{position:absolute;width:48%;right:-3.5rem;bottom:-2.5rem;transform:rotate(-7deg);border:5px solid var(--ink);box-shadow:0 15px 40px #0007}.about-inset img{width:100%;display:block;height:auto}.about-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:var(--muted);max-width:32rem}.about-copy>a{display:inline-block;font-size:.875rem;margin-top:1.5rem;border-bottom:1px solid var(--accent);padding-bottom:.7rem}.contact{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden}.contact>img{position:absolute;width:60%;height:100%;object-fit:cover;object-position:center 40%;right:0;top:0}.contact-copy{position:relative;padding:4rem 6vw;width:100%}.contact h2{font-size:clamp(2.4rem,6.7vw,7rem);line-height:1.05;overflow-wrap:anywhere}.contact-copy>a{display:inline-block;background:var(--accent);color:#111;padding:1rem 1.4rem;margin-top:1.5rem;font-size:1rem}footer{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:2rem 4vw;color:var(--muted);font-size:.8rem;line-height:1.5}dialog{width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;border:0;background:#0c0d0e;color:var(--ink);padding:1.2rem;overflow:auto}dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem}dialog::backdrop{background:#000e}.viewer-bar,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem}dialog button{background:transparent;border:1px solid var(--line);padding:.7rem 1rem;color:var(--ink);font-size:.875rem}#viewer-image{width:100%;height:100%;object-fit:contain;min-height:0}#viewer-count{font-size:.875rem;color:var(--muted)}body.viewing{overflow:hidden}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:800px){header{padding:1.5rem 5vw;gap:1rem;flex-wrap:wrap}.brand strong{font-size:1.1rem}nav{gap:1rem;font-size:.875rem}nav a:nth-child(2){display:none}.concept{position:absolute;top:5.3rem}.hero{height:850px;min-height:100svh}.scene-main{inset:0 0 0 8%}.shade{background:linear-gradient(90deg,#0c0d0ec0,transparent),linear-gradient(0deg,#0c0d0e,transparent 60%)}.scene-copy{left:5vw;top:25%}h1{font-size:clamp(3.8rem,12vw,6rem)}.inset{width:29%;right:7%;bottom:17%}.hero-bottom{bottom:2rem;flex-wrap:wrap;gap:1.5rem}.slide-controls{gap:.6rem}.ribbon{flex-wrap:wrap;justify-content:center;font-size:1.1rem;gap:1rem 2rem}.work{padding:3rem 5vw}.section-head{display:block;margin-bottom:2rem}.filter-bar{align-items:start;flex-direction:column}.gallery{grid-template-columns:1fr 1fr;gap:.7rem}.photo:nth-child(n){grid-column:span 1}.photo:nth-child(5n+1){grid-column:span 2}.photo>a{min-height:0;height:auto}.photo img{aspect-ratio:4/5;max-height:none;height:auto}.overlay{padding:1rem}.photo h3{font-size:1.2rem;margin-right:1rem}.overlay b{right:.6rem;bottom:1rem;font-size:1.3rem}.overlay span{letter-spacing:.04em}.about{margin:2rem 5vw 4rem;grid-template-columns:1fr;gap:4rem}.about-images{max-width:75%;margin:0}.about-inset{right:-3rem}.about-copy h2{font-size:3.5rem}.contact{min-height:500px}.contact>img{width:100%}.contact .shade{background:#101415a6}.contact h2{font-size:clamp(2rem,7.3vw,4rem)}footer{flex-direction:column;padding:2rem 5vw;gap:.8rem}}@media(max-width:420px){nav a:first-child{display:none}.inset{width:31%;bottom:19%;border-width:3px}.inset span{display:none}.hero{height:790px}.hero-bottom{display:block}.slide-controls{margin-top:1.4rem}.overlay{padding:.7rem}.photo h3{font-size:1rem}.overlay b{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.scene.active .scene-main img{transform:none}}

.brand img{display:block;width:108px;height:108px;object-fit:contain}.eyebrow,.overlay span{color:#e88c53}.photo img{object-position:center}.scene-main img{object-position:center}.ribbon,.filters button[aria-pressed=true],.contact-copy>a{color:#0c0d0e}@media(max-width:800px){.brand img{width:80px;height:80px}.concept{top:7rem}}

/* Preserve the photographed frame instead of forcing portraits into wide crops. */
.gallery{align-items:start}.photo>a{height:auto;min-height:0}.photo img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}.photo a:hover img{transform:none}
.scene-main img{object-fit:contain;object-position:center;transform:none}.scene.active .scene-main img{transform:none}
.contact>img{object-fit:contain}
@media(max-width:800px){.photo img{height:auto;aspect-ratio:auto}.scene-main{inset:12% 0 12% 0}}

/* Flow photographs at their native proportions with no empty grid cells. */
.gallery{display:block;columns:3;column-gap:1rem}.gallery .photo{display:block;break-inside:avoid;margin:0 0 1rem;animation:none}.gallery .photo[hidden]{display:none}.gallery .photo>a{display:block;height:auto;min-height:0}.gallery .photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto}
.scene-main{inset:0}.scene-main>img:not(.scene-backdrop){position:absolute;left:26%;width:74%;height:100%;object-fit:contain;z-index:1}.scene-main img.scene-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(24px) brightness(.65);transform:scale(1.1)}
.about-images{padding-bottom:28%;margin-right:1.5rem}.about-inset{width:38%;right:-1.5rem;top:65%;bottom:auto;transform:rotate(9deg);transform-origin:top center}
@media(max-width:1000px){.gallery{columns:2}}
@media(max-width:800px){.scene-main{inset:0}.scene-main>img:not(.scene-backdrop){left:0;width:100%}.about-images{max-width:88%;padding-bottom:35%}.about-inset{right:-1rem;top:68%}}
@media(max-width:540px){.gallery{columns:1}}

.about-images{padding-bottom:50%}.about-inset{top:auto;bottom:0}@media(max-width:800px){.about-images{padding-bottom:50%}.about-inset{top:auto;bottom:0}}

/* Side-by-side portraits keep the player unobstructed at every width. */
.about-images{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.42fr);align-items:center;gap:1.2rem;padding:0;margin:0;max-width:none}.about-images>img{width:100%;height:auto}.about-inset{position:relative;width:100%;top:auto;right:auto;bottom:auto;left:auto;transform:rotate(5deg);transform-origin:center;margin:0}.about{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:5vw}
@media(max-width:800px){.about{grid-template-columns:1fr}.about-images{max-width:none;padding:0;gap:.8rem}.about-inset{top:auto;bottom:auto;right:auto;width:100%}}

.about-images{column-gap:0}.about-inset{transform:translateX(-12%) rotate(5deg)}

.scene .inset{right:3%}@media(max-width:800px){.scene .inset{right:5%}}
