

@font-face {
font-family: "Nikola Mono";
src: local("Courier New");
}
:root {
--paper: #f6f6f6;
--ink: #333132;
--pad: 12px;
--speed: 300ms;
--ease: cubic-bezier(0, 0, 0.58, 1);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
width: 100%;
min-height: 100%;
-webkit-font-smoothing: antialiased;
text-size-adjust: 100%;
scroll-behavior: smooth;
}
body {
margin: 0;
width: 100%;
min-height: 100vh;
background: var(--paper);
color: var(--ink);
font-family: "Nikola Mono", "Courier New", monospace;
font-size: 20px;
line-height: 1.25;
text-transform: uppercase;
letter-spacing: 0.08em;
background-color: #F6F6F6;
}
button,
a {
font: inherit;
color: inherit;
}
a {
text-decoration: underline;
}
button {
border: 0;
padding: 0;
background: none;
}
.site {
width: 100%;
min-height: 100vh;
background: var(--paper);
}
@media (min-width: 1280px) {
.site {
height: 100vh;
min-height: 900px;
overflow: hidden;
display: grid;
grid-template-columns: 1fr 1fr;
}
.image-panel,
.info-panel {
position: relative;
min-width: 0;
min-height: 0;
height: 100%;
}
.image-stage {
position: absolute;
inset: 0;
overflow: hidden;
padding: var(--pad);
}
.photo {
position: absolute;
inset: var(--pad);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
opacity: 0;
visibility: hidden;
pointer-events: none;
}
.photo.is-active {
opacity: 1;
visibility: visible;
}
.photo-00 {
background-image: none;
background-color: var(--paper);
}
.hover-zones {
position: absolute;
inset: 32px 12px 12px 12px;
display: grid;
grid-template-columns: repeat(10, 1fr);
z-index: 4;
}
.zone {
height: 100%;
width: 100%;
cursor: default;
}
.logo {
position: absolute;
z-index: 5;
top: 50%;
left: 24px;
transform: translateY(-50%);
width: 210px;
pointer-events: auto;
mix-blend-mode: exclusion;
}
.logo img {
display: block;
width: 100%;
height: auto;
}
.info-panel {
padding: var(--pad);
}
.desktop-info {
position: absolute;
top: 12px;
left: 12px;
right: 12px;
bottom: 640px;
display: flex;
flex-direction: column;
justify-content: space-between;
pointer-events: auto;
}
.info-title {
width: 100%;
padding: 0;
}
.info-hover-content {
position: absolute;
top: 42px;
left: 0;
width: min(381px, 70%);
display: none;
flex-direction: column;
gap: 12px;
}
.desktop-info:hover .info-hover-content {
display: flex;
}
.info-hover-content p {
margin: 0;
}
.contact {
margin-top: 2px !important;
}
.more {
display: inline-block;
width: fit-content;
}
.info-credit {
width: 180px;
font-size: 20px;
line-height: 1.1;
letter-spacing: 0.08em;
}
.site.info-active .photo {
opacity: 0;
visibility: hidden;
}
.mobile-info {
display: none;
}
.about {
display: none;
}
}
@media (max-width: 1279px) {
body {
font-size: 14px;
}
.site {
min-height: 100vh;
}
.image-panel {
height: min(685px, 62vh);
position: relative;
}
.info-panel {
position: relative;
min-height: 0;
padding: 12px;
}
.image-stage {
position: absolute;
inset: 0;
padding: 12px;
overflow: hidden;
}
.photo {
position: absolute;
inset: 12px;
background-position: center;
background-size: cover;
opacity: 0;
visibility: hidden;
}
.photo.is-active {
opacity: 1;
visibility: visible;
}
.hover-zones {
position: absolute;
inset: 12px;
display: block;
z-index: 4;
}
.zone {
display: none;
}
.image-stage {
cursor: pointer;
}
.logo {
position: relative;
top: auto;
left: auto;
transform: none;
width: 180px;
margin: 8px auto 30px;
mix-blend-mode: exclusion;
}
.logo img {
display: block;
width: 100%;
height: auto;
}
.info-panel {
position: relative;
min-height: 215px;
padding: 12px;
}
.desktop-info {
display: none;
}
.mobile-info {
display: block;
}
.mobile-credit {
width: 145px;
line-height: 1.1;
margin-bottom: 24px;
}
.mobile-copy {
width: 100%;
}
.mobile-title {
margin-bottom: 12px;
}
.mobile-copy p {
margin: 0 0 12px;
max-width: 100%;
}
.contact {
margin-top: 12px !important;
}
.more {
margin-top: 0;
}
.about {
padding: 12px;
min-height: 300px;
}
}
@media (prefers-reduced-motion: reduce) {
}
.about-page {
min-height: 100vh;
padding: 20px;
}
.about-header {
margin-bottom: 0;
}
.about-logo {
display: block;
position: relative;
width: 180px;
margin: 0 0 30px 0;
mix-blend-mode: exclusion;
}
.about-logo img {
display: block;
width: 100%;
height: auto;
}
.about-content {
max-width: 600px;
margin-left: 20px;
}
.about-content h1 {
font-size: clamp(14px, 4.6vw, 18px);
font-weight: normal;
margin-bottom: 40px;
}
.about-content p {
font-size: clamp(14px, 4.6vw, 18px);
line-height: 1.4;
margin-bottom: 25px;
}
.about-content a {
color: inherit;
text-decoration: underline;
}
.about-content a:hover {
text-decoration: underline;
}
.about-contact {
margin-top: 60px;
}
@media (max-width: 1279px) {
.about-logo {
width: 180px;
margin: 0 auto 30px;
mix-blend-mode: exclusion;
}
.about-content {
max-width: none;
margin-left: 0;
}
}