:root{--edge:clamp(24px,5vw,64px);--ink:#111;--muted:#535353}*{box-sizing:border-box}html{scroll-behavior:smooth}body{position:relative;isolation:isolate;margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;background:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.86%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Cpath%20fill%3D%22%23000%22%20filter%3D%22url%28%23n%29%22%20d%3D%22M0%200h200v200H0z%22%2F%3E%3C%2Fsvg%3E') repeat;opacity:.035;pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:1px solid #111;outline-offset:5px}img,video{display:block;max-width:100%}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:28px var(--edge);font-size:12px;position:relative;z-index:10}.location{margin:0;color:#333;font-size:12px;letter-spacing:.02em}.menu{position:relative;justify-self:start;padding:5px 0}.social-menu{justify-self:end;text-align:right}.menu-toggle{padding:0;border:0;background:none;font-size:12px;line-height:1.5}.menu-links{position:absolute;top:100%;left:0;display:flex;flex-direction:column;gap:5px;padding-top:9px;min-width:max-content;visibility:hidden;pointer-events:none;transition:visibility 0s .25s}.social-menu .menu-links{left:auto;right:0}.menu-links a{display:block;font-size:11px;line-height:1.5;opacity:0;transform:translateY(-5px);transition:opacity .22s ease,transform .25s ease}.menu-links a:hover{opacity:1!important}.menu.open .menu-links{visibility:visible;pointer-events:auto;transition-delay:0s}.menu.open .menu-links a{opacity:1;transform:translateY(0)}.menu.open .menu-links a:nth-child(2){transition-delay:.045s}.hero{text-align:center;padding:46px var(--edge) 72px}.hero h1{font-family:Anton,'Arial Narrow',sans-serif;font-size:clamp(46px,8vw,84px);font-weight:400;line-height:1.08;text-transform:uppercase;letter-spacing:.01em;margin:0}.focus-name{display:inline-block;white-space:nowrap}.focus-name span{display:inline-block;filter:blur(var(--blur));transition:filter .6s ease}.focus-name:hover span{filter:blur(calc(var(--blur)*.55))}.hero p{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#333;margin:16px 0 0}.projects{padding:0 var(--edge) 86px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.project{margin:0;min-width:0}.project-media{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;background:transparent;border:0;border-radius:0;overflow:hidden}.project-media video{width:100%;height:100%;object-fit:cover;object-position:center}.project figcaption{margin-top:9px;font-size:10px;line-height:1.5;font-weight:400;color:#444;text-align:left}.project figcaption span+span:before{content:' — ';color:#777}.underwater{padding:24px var(--edge) 100px}.underwater h2{font-family:Anton,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(27px,4.8vw,62px);font-weight:400;line-height:1.05;margin:0 0 32px}.photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.photo{border:0;background:none;border-radius:0;padding:0;width:100%;aspect-ratio:1/1;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}footer{text-align:center;padding:10px var(--edge) 35px;font-size:10px;color:#666}#cursor{display:none;position:fixed;left:0;top:0;width:9px;height:9px;border-radius:50%;background:#000;overflow:hidden;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);opacity:0}dialog{border:0;padding:55px 5% 10px;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#fff;color:#111}dialog::backdrop{background:#fff}.close{position:absolute;right:4%;top:16px;font-size:30px;font-weight:400;background:none;border:0;padding:0 5px}#viewerContent{height:calc(100% - 55px);display:flex;align-items:center;justify-content:center}#viewerContent img,#viewerContent video{max-width:100%;max-height:100%;object-fit:contain}.viewer-nav{display:flex;justify-content:space-between;align-items:center;height:55px}.viewer-nav button{border:0;background:none;padding:12px;font-size:20px}.viewer-nav p{font-size:10px;text-align:center;margin:0 15px}@media(hover:hover) and (pointer:fine){body.has-cursor,body.has-cursor *{cursor:none!important}body.has-cursor #cursor{display:block}}@media(min-width:1800px){main{max-width:1900px;margin:0 auto}}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:780px){.projects-grid{grid-template-columns:1fr;gap:28px}.hero{padding-top:48px;padding-bottom:54px}.projects{padding-bottom:55px}.underwater{padding-top:15px;padding-bottom:70px}}@media(max-width:480px){.site-header{padding-top:24px;gap:12px;font-size:11px}.menu-toggle,.location{font-size:11px}.hero h1{font-size:clamp(39px,11vw,54px)}.hero p{font-size:8px;letter-spacing:.12em}.hero{padding-top:42px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.underwater h2{font-size:30px;line-height:1.08}.project figcaption{font-size:9px}.menu-links a{font-size:10px}.contact-menu .menu-links{padding-top:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#cursor .cursor-text,#cursor .cursor-text *{color:#fff!important;background:transparent!important;pointer-events:none!important;text-shadow:none!important;transition:none!important;outline:none!important}

.underwater-scene{position:relative;isolation:isolate;overflow:hidden}
#bubbles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.underwater-scene .underwater,.underwater-scene footer{position:relative;z-index:1}

.underwater-scene footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}
.secret-message{display:block;color:transparent;text-align:left;font-size:10px;line-height:1.5;user-select:none}
.secret-message:last-child{text-align:right}
.footer-credit{display:block;white-space:nowrap}
@media(max-width:600px){.underwater-scene footer{gap:12px}.secret-message{font-size:9px}}

#cursor{transition:width .18s ease,height .18s ease}
#cursor.is-secret{width:110px;height:110px}
.secret-message{width:max-content;max-width:100%;justify-self:start}
.secret-message:last-child{justify-self:end}
