body{background:#e6e8eb;margin:0;font-family:Arial,sans-serif}.portfolio{min-height:100svh}@font-face{font-family:Editorial;src:url(/assets/serif.ttf)}@font-face{font-family:Editorial;src:url(/assets/serif-italic.ttf);font-style:italic}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}.portfolio{margin:0}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:5px;text-decoration:underline}a:focus-visible,button:focus-visible{outline-offset:5px;outline:3px solid}img{width:100%;height:auto;display:block}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}p{line-height:1.6}small{font-size:11px}.project h3{margin-bottom:7px}.project p{margin-bottom:10px}.project-info{gap:20px;display:flex}.num{font:11px monospace}.shot{display:block;overflow:hidden}.shot img{transition:transform .35s}.shot:hover img{transform:scale(1.025)}.skip{color:#000;z-index:99;background:#fff;padding:15px;position:absolute;top:-80px;left:10px}.skip:focus{top:10px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media (width<=600px){.project-info{gap:12px}}.portfolio{color:#eee9d9;background:#163d35;font-family:Arial,sans-serif}.page{max-width:1400px;margin:auto;padding:0 50px}header{border-bottom:1px solid #ffffff30;justify-content:space-between;align-items:center;padding:28px 0;font-size:12px;display:flex}header .name{white-space:nowrap;align-items:center;gap:10px;font-size:16px;display:inline-flex}.personal-logo{background:var(--accent);flex:0 0 32px;width:32px;height:32px;transition:background-color .45s;display:block;-webkit-mask:url(/assets/logo-laurens-kosters.svg) 50%/contain no-repeat;mask:url(/assets/logo-laurens-kosters.svg) 50%/contain no-repeat}header nav{align-items:center;gap:30px;display:flex}header nav a{align-items:center;gap:4px;line-height:20px;display:inline-flex}header nav svg{flex-shrink:0}.intro{justify-content:space-between;align-items:end;gap:35px;padding:48px 0 40px;display:flex}.intro h1{letter-spacing:-3px;margin:0;font:clamp(48px,5.3vw,76px)/1.03 Editorial}.intro p{color:#c2cec4;max-width:235px;margin:0;font-size:13px;line-height:1.8}.exhibit{color:#163d35;background:#e9e3d4;grid-template-columns:1fr 1.9fr;min-height:420px;display:grid}.exhibit-info{flex-direction:column;align-items:start;padding:40px;display:flex}.count{margin-bottom:auto;font:11px monospace}.exhibit-info h2{letter-spacing:-2px;margin:35px 0 12px;font:49px Editorial}.exhibit-info p{max-width:230px;font-size:14px}.exhibit-info a{margin-top:15px;font-size:12px;text-decoration:underline}.exhibit-image{background:#d1d3c6;padding:42px 0 0 40px;overflow:hidden}.exhibit-image img{object-fit:cover;object-position:left top;height:100%;box-shadow:0 8px 30px #0002}.controls{justify-content:space-between;align-items:center;margin:20px 0 40px;display:flex}.controls .tabs{gap:20px;display:flex}.tabs button{color:#a5b9af;background:0 0;border:0;border-bottom:1px solid #0000;padding:10px 0;font-size:12px}.arrows{gap:10px;display:flex}.arrows button{color:inherit;background:0 0;border:1px solid #ffffff50;border-radius:50%;width:38px;height:38px}.bottom-grid{border-top:1px solid #ffffff30;grid-template-columns:1fr 1fr;gap:90px;padding:35px 0 45px;display:grid}.bottom-grid h2{font:34px Editorial}.bottom-grid p{color:#c2cec4;max-width:400px;font-size:14px;line-height:1.8}.more a{border-bottom:1px solid #ffffff30;justify-content:space-between;padding:14px 0;font-size:13px;display:flex}footer{border-top:1px solid #ffffff30;justify-content:space-between;padding:25px 0;font-size:12px;display:flex}@media (width<=650px){.page{padding:0 22px}header nav{gap:15px}.intro{padding:35px 0;display:block}.intro h1{margin-bottom:25px;font-size:52px}.intro p{max-width:300px}.exhibit{grid-template-columns:1fr;min-height:0}.exhibit-info{padding:25px}.exhibit-info h2{margin-top:20px;font-size:40px}.exhibit-info p{max-width:none}.exhibit-image{height:230px;padding:20px 0 0 20px}.controls .tabs{gap:12px}.bottom-grid{grid-template-columns:1fr;gap:25px}.tabs button{font-size:11px}}.portfolio{--bg:#e6e8eb;--ink:#17202e;--muted:#586477;--line:#dce2ea;--surface:#eef0f3;--stage:#dce2ea;--accent:#a91f27;--accent-ink:#fff;--heading:Arial, sans-serif;--weight:600;--radius:18px;background:var(--bg);color:var(--ink);transition:background-color .45s,color .45s}header,.bottom-grid,footer,.more a{border-color:var(--line);transition:border-color .45s}.intro p,.bottom-grid p{color:var(--muted);transition:color .45s}.intro h1,.exhibit-info h2,.bottom-grid h2{font-family:var(--heading);font-weight:var(--weight)}.intro h1{letter-spacing:-2.7px;font-size:clamp(45px,4.7vw,67px);line-height:1.08}.intro h1 span{color:var(--accent);transition:color .45s}.exhibit{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);min-height:440px;transition:background-color .45s,border-color .45s,border-radius .45s;overflow:hidden}.exhibit-info h2{overflow-wrap:anywhere;font-size:clamp(36px,3.7vw,49px)}.exhibit-info .count{color:var(--muted)}.exhibit-info a{background:var(--accent);color:var(--accent-ink);border-radius:calc(var(--radius) / 2);padding:13px 19px;text-decoration:none;transition:background-color .45s,color .45s,border-radius .45s}.exhibit-info a:hover{text-decoration:underline}.exhibit-image{background:var(--stage);min-width:0;padding:38px 0 0 32px;transition:background-color .45s}.exhibit-image img{border-radius:calc(var(--radius) / 2) 0 0 0;object-fit:cover;object-position:left top;width:100%;height:402px}.tabs button{color:var(--muted);border-bottom-width:2px}.tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.arrows button{border-color:var(--line);border-radius:var(--radius);transition:border-radius .45s,background-color .2s}.arrows button:hover{background:var(--accent);color:var(--accent-ink)}.bottom-grid h2{letter-spacing:-1px;font-size:28px}a:focus-visible,button:focus-visible{outline-color:var(--accent)}@media (width<=650px){.intro h1{font-size:47px}.exhibit{min-height:0}.exhibit-image{height:230px;padding:20px 0 0 20px}.exhibit-image img{height:210px}.exhibit-info h2{font-size:38px}.controls,.controls .tabs{gap:12px}.arrows{gap:6px}.arrows button{width:34px;height:34px}}html[data-theme-reveal] .portfolio,html[data-theme-reveal] .portfolio *{transition:none!important}html[data-theme-reveal]::view-transition-group(root){animation:none}html[data-theme-reveal]::view-transition-old(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-old(root){z-index:1}html[data-theme-reveal]::view-transition-new(root){z-index:2}html[data-theme-reveal]::view-transition{pointer-events:none}.exhibit-image{perspective:1200px}.exhibit-image img{transform-origin:0}.tabs button,.arrows button{transition:transform .25s,background-color .2s,color .2s}.tabs button:hover{transform:translateY(-3px)}.arrows button:hover{transform:translateY(-3px)scale(1.08)}.arrows button:active{transform:scale(.92)}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}.tabs button:hover,.arrows button:hover,.arrows button:active{transform:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.exhibit-image{filter:brightness(.94)}.portfolio[data-project=mercury]{--bg:#1d1619;--ink:#f3ede7;--muted:#b8aab2;--line:#403039;--surface:#241c21;--stage:#191317;--accent:#e48caf;--accent-ink:#29141e;--heading:Arial, sans-serif;--weight:600;--radius:16px}.portfolio[data-project=lithium]{--bg:#141310;--ink:#f0ece3;--muted:#b4ac9c;--line:#393429;--surface:#1b1914;--stage:#100f0c;--accent:#e8a838;--accent-ink:#211a0c;--heading:Editorial, Georgia, serif;--weight:400;--radius:12px}.portfolio:is([data-project=mercury],[data-project=lithium]) .exhibit-image{align-items:center;padding:24px;display:flex}.portfolio:is([data-project=mercury],[data-project=lithium]) .exhibit-image img{object-fit:contain;object-position:center;height:402px;box-shadow:none;border-radius:8px}.controls .tabs{flex-wrap:wrap}@media (width<=650px){.controls{align-items:flex-start}.controls .tabs{gap:4px 16px;min-width:0}.arrows{flex-shrink:0;padding-top:4px}.portfolio:is([data-project=mercury],[data-project=lithium]) .exhibit-image{height:auto;padding:12px}.portfolio:is([data-project=mercury],[data-project=lithium]) .exhibit-image img{aspect-ratio:1.44;height:auto}}.portfolio[data-project=borium]{--bg:#0b0912;--ink:#ebe7f1;--muted:#ada4be;--line:#30263e;--surface:#14101e;--stage:#09070f;--accent:#ad8bff;--accent-ink:#1c1035;--heading:Editorial, Georgia, serif;--weight:400;--radius:24px}.portfolio:is([data-project=borium],[data-project=iridium]) .exhibit-image{align-items:center;padding:24px;display:flex}.portfolio:is([data-project=borium],[data-project=iridium]) .exhibit-image img{object-fit:contain;object-position:center;height:402px;box-shadow:none;border-radius:12px}@media (width<=650px){.portfolio:is([data-project=borium],[data-project=iridium]) .exhibit-image{height:auto;padding:12px}.portfolio:is([data-project=borium],[data-project=iridium]) .exhibit-image img{aspect-ratio:4/3;height:auto}}.portfolio[data-project=iridium]{--bg:#e8e5ee;--ink:#292933;--muted:#656174;--line:#d1cadf;--surface:#eeebf3;--stage:#ded8e9;--accent:#69558f;--accent-ink:#fff;--heading:Arial, sans-serif;--weight:600;--radius:20px}.portfolio[data-project=iridium] .intro h1 span{font-family:Editorial,Georgia,serif;font-style:italic;font-weight:400}.exhibit-info h2{align-items:center;gap:12px;display:flex}.project-logo{object-fit:contain;flex:0 0 42px;width:42px;height:42px}.portfolio[data-project=borium] .exhibit-info h2{text-transform:uppercase}.portfolio[data-project=mercury] .project-logo{object-fit:cover;flex-basis:64px;width:64px}.project-element{border-top:1px solid var(--line);background:color-mix(in srgb, var(--stage) 45%, var(--surface));grid-column:1/-1;grid-template-columns:220px 78px minmax(0,1fr);align-items:center;gap:32px;display:grid}.project-element-photo{align-self:stretch;min-height:210px;overflow:hidden}.project-element-photo img{object-fit:cover;width:100%;height:100%}.project-element-symbol{color:var(--accent);display:grid}.project-element-symbol span:first-child{font:10px monospace}.project-element-symbol strong{letter-spacing:-2px;margin:6px 0;font:400 64px/1 Editorial,Georgia,serif}.project-element-symbol span:last-child{font-size:11px}.project-element-story{padding:26px 32px 24px 0}.project-element-label{color:var(--accent);letter-spacing:.07em;font:10px monospace}.project-element-story h3{letter-spacing:-.5px;margin:10px 0;font:400 clamp(22px,2.3vw,29px)/1.15 Editorial,Georgia,serif}.project-element-story p{max-width:600px;color:var(--muted);margin-bottom:14px;font-size:12px;line-height:1.75}.project-element-credit{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:9px;line-height:1.5;display:flex}@media (width<=900px){.project-element{grid-template-columns:160px 60px minmax(0,1fr);gap:22px}.project-element-symbol strong{font-size:54px}}@media (width<=650px){.project-element{grid-template-columns:96px minmax(0,1fr);gap:20px;padding:24px 26px}.project-element-photo{border-radius:3px;height:96px;min-height:0}.project-element-symbol{align-self:center}.project-element-symbol strong{margin:3px 0;font-size:48px}.project-element-story{grid-column:1/-1;padding:0}}@keyframes portfolio-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:no-preference){.portfolio[data-entering] :is(header,.intro h1,.intro p,.exhibit,.controls,.bottom-grid,footer){animation:.95s cubic-bezier(.16,1,.3,1) backwards portfolio-arrive}.portfolio[data-entering] .intro h1{animation-delay:.1s}.portfolio[data-entering] .intro p{animation-delay:.18s}.portfolio[data-entering] .exhibit{animation-delay:.26s}.portfolio[data-entering] .controls{animation-delay:.36s}.portfolio[data-entering] .bottom-grid{animation-delay:.42s}.portfolio[data-entering] footer{animation-delay:.46s}}.error-page .page{flex-direction:column;min-height:100svh;display:flex}.error-header-label{color:var(--muted);font:11px monospace}.error-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:56px 0 72px;display:flex}.error-code{color:var(--accent);letter-spacing:-8px;justify-content:center;align-items:center;gap:14px;margin-bottom:32px;font:400 clamp(120px,16vw,220px)/1 Editorial,Georgia,serif;display:flex}.error-code svg{width:clamp(100px,13vw,170px);height:auto;overflow:visible}.error-eyebrow{color:var(--accent);letter-spacing:.07em;margin-bottom:16px;font:11px monospace}.error-content h1{letter-spacing:-1.5px;margin-bottom:20px;font:400 clamp(32px,4.5vw,58px)/1.1 Editorial,Georgia,serif}.error-description{color:var(--muted);margin-bottom:30px;font-size:14px;line-height:1.8}.error-home{background:var(--accent);color:var(--accent-ink);border-radius:6px;align-items:center;gap:28px;padding:16px 22px;font-size:13px;display:inline-flex}.error-page footer{margin-top:0}@media (width<=650px){.error-header-label{text-align:right;max-width:75px;font-size:9px;line-height:1.6}.error-code{letter-spacing:-5px;gap:4px}.error-description{font-size:13px}.error-content{padding:40px 0 55px}}
