*{box-sizing:border-box}html{color-scheme:light;background:#fff}body{margin:0;background:#fff;color:#171717;font-family:Arial,Helvetica,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit;border:0;background:none;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}button:hover,a:hover{color:#000}button:focus-visible,a:focus-visible{outline:1px solid #000;outline-offset:6px}header{height:85px;position:relative;z-index:20;padding:25px 30px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start}.brand{display:flex;gap:40px}.brand span{color:#666}#clock{text-align:center;font-size:13px;font-variant-numeric:tabular-nums}nav{display:flex;justify-content:flex-end;gap:65px}nav button{color:#666}nav .active{color:#111}sup{font-size:10px;margin-left:4px}#home{height:calc(100svh - 85px);min-height:660px;position:relative;overflow:hidden}.intro{position:absolute;z-index:4;top:48px;left:30px;pointer-events:none}h1{font-weight:400;font-size:clamp(24px,2.7vw,43px);letter-spacing:-1.4px;line-height:1.08;margin:0}p{color:#666;font-size:14px;line-height:1.5}.intro p{margin-top:20px}#orbit{position:absolute;inset:0;touch-action:none;cursor:grab;perspective:1100px}#orbit.dragging{cursor:grabbing}.card{position:absolute;left:50%;top:48%;will-change:transform,opacity;transform-style:preserve-3d;display:block;background:#f3f3f3;transition:filter .3s}.card img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.card:focus-visible{outline:2px solid black}.card span{position:absolute;top:calc(100% + 9px);left:0;font-size:12px;white-space:nowrap;opacity:0;transition:opacity .2s}.card:hover span,.card:focus-visible span{opacity:1}.archive-note{position:absolute;left:30px;bottom:125px;display:flex;flex-direction:column;gap:20px;pointer-events:none}.archive-note span:first-child{font-family:monospace;font-size:12px;color:#666}.archive-note span:last-child{font-size:14px}#current{position:absolute;right:30px;bottom:117px;width:205px;pointer-events:none}#current-number{font:12px monospace;color:#666}h2{font-size:23px;font-weight:400;letter-spacing:-.6px;margin:10px 0}.muted{font-size:12px;color:#666}footer{position:absolute;left:30px;right:30px;bottom:25px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#666}#pause{font-size:12px;color:#222}#index{padding:40px 30px 130px;position:relative;z-index:6;background:#fff;min-height:100%}.index-row{display:grid;grid-template-columns:70px 1fr 90px 100px;align-items:center;border-top:1px solid #ddd;padding:13px 0;gap:25px}.index-row .index-title{font-size:clamp(24px,3vw,44px);letter-spacing:-1.5px}.index-row img{width:70px;height:75px;object-fit:cover}.index-row .number{color:#666;font:12px monospace}.index-row .total{text-align:right;color:#666;font-size:12px}body.index-mode #home{height:auto;overflow:visible}body.index-mode .intro,body.index-mode .archive-note,body.index-mode #current,body.index-mode #orbit{display:none}body.index-mode footer{position:relative;bottom:auto;padding:0 0 25px;width:calc(100% - 60px)}#project{padding:65px 30px 30px}.project-top{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:60px}.project-top h1{font-size:clamp(48px,7vw,110px);letter-spacing:-.06em;line-height:.98}.project-meta{display:flex;justify-content:space-between;color:#666;font-size:13px;padding-top:35px}.project-back{justify-self:end;align-self:start;font-size:13px}.project-images{display:grid;grid-template-columns:repeat(12,1fr);gap:100px 30px;align-items:center}.project-images figure{margin:0;grid-column:span 6}.project-images figure:first-child{grid-column:3/11;margin-bottom:50px}.project-images figure:nth-child(5n+4){grid-column:2/12;padding:50px 0}.project-images img{width:100%;height:auto;max-height:110vh;object-fit:contain;display:block}.project-images button{width:100%;display:block}.project-images figcaption{font:12px monospace;color:#666;padding-top:12px}.next-project{margin-top:130px;padding-top:30px;border-top:1px solid #ddd;display:flex;justify-content:space-between;align-items:end}.next-project span{font-size:13px;color:#666}.next-project a{font-size:clamp(32px,5vw,72px);letter-spacing:-.04em}dialog{max-width:none;max-height:none;border:0;background:#fff;padding:60px;width:100vw;height:100dvh;color:#222}dialog::backdrop{background:#fff}dialog[open]{display:flex;justify-content:center;align-items:center}dialog img{max-width:85vw;max-height:83vh;object-fit:contain}#lightbox-close{position:absolute;right:30px;top:25px}#lightbox-prev{position:absolute;left:30px;bottom:25px}#lightbox-next{position:absolute;right:30px;bottom:25px}#lightbox-count{position:absolute;bottom:25px;font:12px monospace}@media(min-width:1800px){#home{min-height:820px}}@media(max-width:700px){header{padding:20px;height:75px;grid-template-columns:1fr auto}.brand{gap:14px}#clock{display:none}nav{gap:22px}nav sup{display:none}#home{height:calc(100svh - 75px);min-height:630px}.intro{left:20px;top:25px}h1{font-size:30px;letter-spacing:-1px}.intro p{margin-top:12px}#orbit .card{top:49%}.archive-note{left:20px;bottom:108px;gap:13px}.archive-note span:last-child{max-width:130px;line-height:1.4}#current{right:20px;bottom:103px;width:140px}#current h2{font-size:20px}footer{left:20px;right:20px;bottom:22px;gap:15px}footer>span:last-child{display:none}#instruction{max-width:180px;font-size:11px}#index{padding:30px 20px 70px}.index-row{grid-template-columns:25px 1fr 50px;gap:10px}.index-row img{width:50px;height:65px}.index-row .total{display:none}.index-row .index-title{font-size:27px}#project{padding:40px 20px 25px}.project-top{display:flex;flex-direction:column;align-items:stretch;gap:30px;margin-bottom:40px}.project-back{order:-1;align-self:start}.project-top h1{font-size:60px}.project-images{gap:35px 12px}.project-images figure,.project-images figure:first-child,.project-images figure:nth-child(5n+4){grid-column:1/-1;margin:0;padding:0}.project-images figure:nth-child(4n+3){grid-column:3/11}.next-project{margin-top:65px;align-items:start;gap:25px;flex-direction:column}dialog{padding:20px}dialog img{max-width:100%;max-height:82vh}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Immersive editorial project viewer */
body.project-mode{overflow:hidden}body.project-mode>header{display:none}#project{position:fixed;inset:0;padding:0;background:#fff;height:100dvh}.gallery-brand,.gallery-close{position:absolute;top:25px;z-index:4;font-size:13px}.gallery-brand{left:30px}.gallery-close{right:30px;display:flex;gap:20px;align-items:center}.gallery-close span{font-size:22px;line-height:12px}.gallery-caption{position:absolute;left:30px;top:50%;transform:translateY(-50%);width:140px;z-index:3}.gallery-caption h1{font-size:14px;line-height:1.45;letter-spacing:0}.gallery-caption p{font-size:12px;color:#666;margin:4px 0}#spread{position:absolute;inset:9vh 17% 9vh;display:flex;align-items:center;justify-content:center;gap:16px;touch-action:pan-y;cursor:e-resize}#spread img{height:100%;width:auto;max-width:100%;object-fit:contain;min-width:0;display:block;user-select:none;-webkit-user-drag:none}#spread.paired img{max-width:calc(50% - 8px)}.gallery-next-project{position:absolute;right:30px;top:50%;font-size:12px}.gallery-bottom{position:absolute;left:30px;right:30px;bottom:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#666}.spread-navigation{display:flex;align-items:center;gap:30px}.spread-navigation button{font-size:12px;color:#222}#spread-count{font:12px monospace;min-width:55px;text-align:center}#photo-count{width:180px}.gallery-bottom>a{width:180px;text-align:right}@media(max-width:900px){#spread{left:14%;right:14%}.gallery-caption{left:20px;width:95px}.gallery-caption h1{font-size:12px}.gallery-next-project{right:20px;font-size:11px}.gallery-brand{left:20px}.gallery-close{right:20px}.gallery-bottom{left:20px;right:20px}}@media(max-width:700px){#spread{inset:125px 14px 125px;gap:8px}#spread.paired img{max-width:calc(50% - 4px)}.gallery-caption{top:70px;left:20px;transform:none;width:auto}.gallery-caption h1{font-size:14px}.gallery-caption p{margin:0}.gallery-next-project{top:76px;right:20px;font-size:12px}.gallery-brand,.gallery-close{top:22px}.gallery-bottom{bottom:23px;flex-wrap:wrap;row-gap:20px}#photo-count{width:auto;order:1}.gallery-bottom>a{width:auto;order:2}.spread-navigation{order:3;width:100%;justify-content:space-between;padding-top:15px;border-top:1px solid #ddd}.gallery-close span{font-size:24px}.gallery-brand{font-size:13px}}
nav{gap:35px}nav>a{color:#666}nav>a.active{color:#111}#spread.film{cursor:default}#spread video{display:block;width:100%;max-width:100%;max-height:100%;object-fit:contain;background:#fff}#contact{padding:95px 8vw 70px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;max-width:1400px;margin:auto}#contact[hidden]{display:none}.contact-details h1{font-size:clamp(42px,5vw,72px);margin-bottom:32px}.contact-details p{color:#666}.email-address{display:inline-block;font-size:clamp(18px,2vw,25px);margin-top:25px;letter-spacing:-.5px}#enquiry-form label{display:block;margin-bottom:25px;font-size:13px}#enquiry-form input,#enquiry-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bbb;border-radius:0;padding:13px 0;background:#fff;color:#111;font:16px Arial,Helvetica,sans-serif;resize:vertical}#enquiry-form input:focus,#enquiry-form textarea:focus{outline:0;border-bottom-color:#111}#enquiry-form button{padding:12px 20px;background:#111;color:white}#enquiry-form button:focus-visible{outline-color:#111}.form-note,#form-status{font-size:12px;line-height:1.5;color:#666}#form-status:empty{display:none}@media(max-width:700px){header{grid-template-columns:1fr;gap:18px;height:105px}nav{justify-content:flex-start;gap:28px}#home{height:calc(100svh - 105px)}#contact{grid-template-columns:1fr;padding:40px 20px;gap:45px}.contact-details h1{margin-bottom:20px}.email-address{margin-top:8px}}

.intro{max-width:620px;width:calc(100% - 60px)}.intro h1{font-size:clamp(23px,2.3vw,34px);line-height:1.15;letter-spacing:-.8px}@media(max-width:700px){.intro{width:calc(100% - 40px);max-width:380px}.intro h1{font-size:24px}}

.intro h1 span{display:block;white-space:nowrap}@media(max-width:700px){.intro h1{font-size:clamp(14px,4.4vw,24px)}}

body:not(.project-mode) #project:not([hidden]){position:static;height:auto;padding:30px} .static-images img{max-width:100%;height:auto} nav a{font-size:14px}
