:root{--bg: #f2f2ef;--surface: #e6e6e1;--ink: #121212;--muted: #555551;--accent: #cc0033;--accent-strong: #a3002a;--accent-ink: #ffffff;--accent-text: #cc0033;--field-dark: #0e0e0e;--field-dark-ink: #f2f2ef;--field-dark-muted: #a6a6a0;--field-water: #10231a;--field-water-ink: #f2f2ef;--field-water-muted: #a9bcae;--slip: #fafafa;--font-display: "Big Shoulders", "Arial Narrow", sans-serif;--font-text: "Public Sans", system-ui, sans-serif;--step-small: clamp(.9375rem, .9rem + .1vw, 1rem);--step-body: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead: clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head: clamp(2.5rem, 1.2rem + 5vw, 5.5rem);--step-giant: clamp(5rem, 17.5vw, 22rem);--step-display: clamp(10rem, 30vw, 34rem);--margin: clamp(1.25rem, 2.2vw, 2rem);--gutter: clamp(1rem, 2vw, 2rem);--section: clamp(6rem, 12vw, 12rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.76, 0, .24, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--t-press: .14s;--t-hover: .18s;--t-ui: .24s;--t-reveal: .8s}[data-theme=dark]{--bg: #121212;--surface: #1d1d1d;--ink: #f2f2ef;--muted: #a8a8a2;--accent-text: #ff4d6d;--field-dark: #000000;--slip: #ececec}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:var(--step-body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,video{display:block;max-width:100%;height:auto}button,input,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}h1,h2,h3{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.88;text-wrap:balance}.head{font-size:var(--step-head)}.label{font-size:var(--step-lead);line-height:1}.lead{font-size:var(--step-lead);line-height:1.35;max-width:34ch}.small{font-size:var(--step-small);line-height:1.45}.muted{color:var(--muted)}p{max-width:62ch;text-wrap:pretty}p+p{margin-top:.9em}.nums{font-variant-numeric:tabular-nums}strong{font-weight:600}.wrap{padding-inline:var(--margin)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}.section{padding-block:calc(var(--section) / 2)}.field-dark{background:var(--field-dark);color:var(--field-dark-ink);--muted: var(--field-dark-muted);--accent-text: #ff4d6d}.field-water{background:var(--field-water);color:var(--field-water-ink);--muted: var(--field-water-muted);--accent-text: #ff6b85}.field-red{background:var(--accent);color:var(--accent-ink);--muted: #ffd9e0;--accent-text: #ffffff}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:0 1.5rem;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none;white-space:nowrap;transition:transform var(--t-press) var(--ease-out),background-color var(--t-hover) ease,color var(--t-hover) ease}.button:active{transform:scale(.97)}.button-red{background:var(--accent);color:var(--accent-ink)}.field-red .button{background:var(--ink);color:#fff}[data-theme=dark] .field-red .button{background:#121212}.link{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;text-decoration-thickness:.08em;transition:text-decoration-color var(--t-hover) ease,color var(--t-hover) ease}.link-plain{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:.08em}.link-red{color:var(--accent-text);font-weight:600}@media (hover: hover) and (pointer: fine){.button:hover{background:var(--accent);color:var(--accent-ink)}.button-red:hover,.field-red .button:hover{background:var(--accent-strong);color:#fff}.link:hover{text-decoration-color:currentColor}.link-plain:hover{color:var(--accent-text)}}.nav{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gutter);padding:1.75rem var(--margin) 0;position:relative;z-index:20}.wordmark{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--step-lead);line-height:1;text-decoration:none}.wordmark span{color:var(--accent-text)}.nav-links{display:flex;align-items:baseline;gap:clamp(1rem,2.4vw,2.25rem)}.nav-links a,.nav-toggle,.theme-toggle{font-size:var(--step-body);font-weight:600;text-decoration:none}.nav-links a[aria-current=page]{color:var(--accent-text)}.theme-toggle{color:var(--muted);font-weight:400}.nav-toggle{display:none}@media (max-width: 760px){.nav{flex-wrap:wrap;align-items:center}.nav-toggle{display:block;min-height:2.75rem}.js .nav-links{display:none}.nav-links{width:100%;flex-direction:column;align-items:flex-start;gap:.25rem;padding-block:1rem .5rem}.nav-links a,.nav-links .theme-toggle{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2.75rem;line-height:1.05}.nav-links .theme-toggle{font-size:1.25rem;margin-top:.75rem}.nav.is-open .nav-links{display:flex}}.page-head{padding:clamp(4rem,10vw,9rem) var(--margin) clamp(3rem,6vw,6rem)}.page-head h1{font-size:clamp(3rem,1rem + 11vw,13rem);line-height:.82}.page-head .lead{margin-top:2rem}.head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.75rem;margin-top:2rem}.page-head-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end}.page-head-grid>:first-child{grid-column:1 / span 7}.page-head-grid>:last-child{grid-column:9 / -1}@media (max-width: 760px){.page-head-grid{display:block}.page-head-grid>:last-child{margin-top:2.5rem}}.photo{position:relative;overflow:hidden;background:var(--surface)}.photo img,.photo video{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}.photo.crop-card img{width:118%;height:118%;max-width:none;margin:-9% 0 0 -9%}.photo.crop-card img[src*=koedijk-1926]{width:128%;height:120%;margin:-10% 0 0 -6%}.caption{margin-top:.75rem;font-size:var(--step-small);color:var(--muted);max-width:40ch}.index-list{grid-column:1 / span 8}.index-row{display:grid;grid-template-columns:minmax(0,1fr) 13rem;align-items:last baseline;column-gap:1.5rem;padding-block:.6rem;text-decoration:none;color:var(--muted);transition:color var(--t-hover) ease}.index-name{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--step-head);line-height:.95}.index-meta{font-size:var(--step-small);color:var(--ink)}.index-row.is-active,.index-row:focus-visible{color:var(--ink)}.index-row.is-active .index-name{color:var(--accent-text)}.index-thumb{display:none}.index-frame-col{grid-column:9 / -1}.index-frame{position:sticky;top:12vh}.index-frame .photo{aspect-ratio:4 / 5}.index-frame .photo img{position:absolute;inset:0;opacity:0;transition:opacity .24s ease}.index-frame .photo img.is-active{opacity:1}.index-frame .caption{min-height:3em}@media (max-width: 1100px){.index-list{grid-column:1 / -1}.index-frame-col{display:none}.index-row{display:block;color:var(--ink);padding-block:0 2.5rem}.index-row .index-name{font-size:clamp(2.2rem,.5rem + 4vw,3.5rem)}.index-row.is-active .index-name{color:inherit}.index-meta{display:block;margin-top:.4rem}.index-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));column-gap:var(--gutter)}.index-thumb{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;filter:grayscale(1) contrast(1.05);margin-bottom:1rem}}.footer{min-height:90svh;display:flex;flex-direction:column;justify-content:space-between;gap:4rem;padding:2.5rem var(--margin) 2rem}.footer-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}.footer-who{grid-column:1 / span 4;display:flex;gap:1.25rem;align-items:flex-start}.footer-who img{width:5.5rem;height:5.5rem;object-fit:cover;flex:none}.footer-who p{font-size:var(--step-body)}.footer-notes{grid-column:5 / span 5;font-size:var(--step-body)}.footer-top .to-top{grid-column:11 / -1;justify-self:end;font-weight:600}.footer-call{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--step-giant);line-height:1;margin-top:.12em;letter-spacing:-.01em;text-decoration:none;display:block;white-space:nowrap;transition:color var(--t-hover) ease}.footer-call-label{font-size:var(--step-lead);margin-bottom:.25rem}.footer-meta{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--gutter);font-size:var(--step-small);color:var(--muted);margin-top:2rem}.footer-meta ul{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}.footer-meta a{color:var(--field-dark-ink)}.footer-meta>:last-child{text-align:right}@media (hover: hover) and (pointer: fine){.footer-call:hover{color:var(--accent-text)}}@media (max-width: 760px){.footer-top{display:flex;flex-direction:column;gap:1.5rem}.footer-who,.footer-notes{width:100%}.footer-call{font-size:17vw}.footer-meta{grid-template-columns:1fr}.footer-meta>:last-child{text-align:left}}@media (prefers-reduced-motion: no-preference){.js .page-head h1,.js .page-head .lead,.js .page-head .head-actions{opacity:0;transform:translateY(20px);animation:headRise .9s var(--ease-expo) forwards}.js .page-head .lead{animation-delay:.12s}.js .page-head .head-actions{animation-delay:.22s}.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .9s var(--ease-expo);transition-delay:calc(var(--d, 0) * 80ms)}.js [data-reveal].is-in,.js .shutter[data-reveal]{opacity:1;transform:none}.js .shutter[data-reveal] .photo{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-in-out);transition-delay:calc(var(--d, 0) * 80ms)}.js .shutter[data-reveal] img{transform:scale(1.12);transition:transform 1.5s var(--ease-soft)}.js .shutter[data-reveal].is-in .photo{clip-path:inset(0)}.js .shutter[data-reveal].is-in img{transform:none}@supports (animation-timeline: view()){.drift img,.drift video{animation:drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}}}@keyframes headRise{to{opacity:1;transform:none}}@keyframes drift{0%{transform:scale(1.08) translateY(-3%)}to{transform:scale(1.08) translateY(3%)}}
