@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital@1&display=swap";:root{--bg:#f8f5ef;--ink:#1c1a16;--muted:#5b544d;--muted-light:#8e8780;--accent:#d11c13;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Playfair Display", "Times New Roman", serif;font:16px/1.5 var(--sans);color:var(--muted);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--bg);margin:0}#root{min-height:100vh}a{color:inherit}.page{flex-direction:column;min-height:100vh;padding:0 48px 40px;display:flex;position:relative;overflow:hidden}.page-home{min-height:100vh;padding-bottom:0;overflow:visible}.topbar{letter-spacing:.16em;z-index:5;justify-content:space-between;align-items:center;gap:24px;padding:32px 48px 0;font-size:14px;display:flex;position:absolute;top:0;left:0;right:0}.brand{object-fit:contain;width:32px;height:32px;display:block}.nav-links{color:var(--ink);align-items:center;gap:20px;display:flex}.nav-links a,.dropdown-trigger{color:inherit;font-weight:500;text-decoration:none}.nav-links a:hover,.nav-links a.is-active,.dropdown-trigger:hover,.dropdown-trigger.is-active,.nav-button.is-active{color:var(--accent)}.nav-button{letter-spacing:.16em;border:1px solid #1c1a1640;border-radius:999px;padding:8px 16px;transition:transform .2s,box-shadow .2s}.nav-button:hover{box-shadow:none;transform:translateY(-1px)}.nav-item{align-items:center;display:flex;position:relative}.dropdown-trigger{letter-spacing:.16em}.dropdown-menu{background:var(--bg);opacity:0;visibility:hidden;z-index:10;border:1px solid #1c1a1626;border-radius:14px;flex-direction:column;gap:8px;min-width:180px;padding:10px 12px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:calc(100% + 14px);left:0;transform:translateY(-6px);box-shadow:0 18px 36px #0000001f}.dropdown-menu a{letter-spacing:.12em;font-size:12px}.dropdown:focus-within .dropdown-menu,.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:42px;height:30px;padding:4px 6px;display:none}.menu-toggle span{background:var(--ink);border-radius:999px;height:3px;display:block}.hero-grid{flex:1;grid-template-columns:160px minmax(280px,1fr) 240px;align-items:stretch;gap:28px;margin-top:0;display:grid}.page-home .hero-grid{height:100%}.page-section{max-width:75vw;padding:160px 48px 80px}.page-two-thirds{width:75%;max-width:none}.page-section h1{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;font-size:42px}.past-figure{margin:24px 0 40px}.past-title{align-items:baseline;gap:12px;margin:0 0 12px;display:flex}.past-title-main{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:18px}.past-title-sub{color:var(--muted-light);letter-spacing:.08em;font-size:14px}.past-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin:0;display:grid}.past-cell{border:2px solid var(--accent);color:var(--muted);background:0 0;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.4}.caption{letter-spacing:.04em;text-transform:none;color:var(--muted);margin-top:12px;font-size:11px}.past-cell.col-1{grid-column:1}.past-cell.col-2{grid-column:2}.past-cell.col-3{grid-column:3}.past-cell.col-4{grid-column:4}.past-cell.span-2{grid-column:3/span 2}.past-cell.span-2-left{grid-column:1/span 2}.past-cell.span-4{grid-column:1/span 4}@media (width<=1024px){.past-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.past-cell.col-1,.past-cell.col-2,.past-cell.col-3,.past-cell.col-4,.past-cell.span-2,.past-cell.span-2-left,.past-cell.span-4{grid-column:auto}}@media (width<=640px){.past-grid{grid-template-columns:1fr}}.contact-page{max-width:75vw}.contact-grid{grid-template-columns:1fr 2fr;align-items:start;gap:32px;margin-top:24px;display:grid}.contact-tagline{color:var(--ink);margin:0 0 16px;font-size:24px;font-weight:600}.contact-accent{color:var(--accent)}.contact-copy{color:var(--muted-light);margin:0;font-size:15px;line-height:1.7}.contact-links{border-top:1px solid #1c1a1633;display:grid}.contact-link{color:inherit;border-bottom:1px solid #1c1a1633;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;text-decoration:none;transition:color .2s;display:flex}.contact-link:hover{color:var(--accent)}.contact-link-label{text-transform:none;letter-spacing:normal;color:var(--muted-light);margin-bottom:6px;font-size:12px;display:block}.contact-link-value{color:var(--ink);font-size:16px;transition:transform .25s,color .25s;display:block}.contact-link-arrow{color:var(--muted-light);font-size:18px;transition:transform .25s,color .25s}.contact-link:hover .contact-link-arrow{color:var(--accent);transform:translate(6px)}.contact-link:hover .contact-link-value,.contact-link:focus-visible .contact-link-value{color:var(--accent);transform:translate(8px)}.contact-link:focus-visible .contact-link-arrow{color:var(--accent);transform:translate(6px)}.contact-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.contact-form{background:#fff9;border:1px solid #1c1a1626;border-radius:18px;gap:16px;padding:24px;display:grid}.contact-form label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);gap:8px;font-size:12px;display:grid}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #1c1a1633;border-radius:12px;padding:10px 12px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-form button{background:var(--accent);color:var(--bg);letter-spacing:.16em;cursor:pointer;border:none;border-radius:999px;justify-self:start;padding:10px 18px}@media (width<=900px){.contact-grid{grid-template-columns:1fr}.contact-links{margin-top:24px}}.projects-page{max-width:75vw}.project-filters{flex-wrap:wrap;gap:10px;margin:20px 0 8px;display:flex}.filter-button{color:var(--ink);letter-spacing:.14em;cursor:pointer;background:0 0;border:1px solid #1c1a1633;border-radius:999px;padding:6px 12px;font-size:11px}.filter-button.is-active,.filter-button:hover{background:var(--accent);color:var(--bg)}.project-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.project-filters [role=tablist]{flex-wrap:wrap;gap:8px;display:flex}.project-sort{align-items:center;display:flex}.sort-select{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #1c1a1633;border-radius:999px;padding:6px 12px;font-size:11px}.sort-select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;display:grid}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.projects-grid{grid-template-columns:1fr}}.projects-empty{color:var(--muted);grid-column:1/-1;margin:0}.project-card{min-height:100%;color:inherit;background:#ffffff80;border:1px solid #1c1a161f;border-radius:18px;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000001f}.project-card--featured{flex-direction:row;grid-column:1/-1;align-items:stretch}.project-card--featured .project-media{flex:none;width:40%;min-width:260px;max-width:380px}.project-card--featured .project-media img{aspect-ratio:1;object-fit:cover;width:100%;height:100%}.project-card--featured .project-body{flex-direction:column;flex:auto;justify-content:center;gap:18px;padding:28px 32px;display:flex}.project-card--featured .project-header h2{font-size:32px}.project-card--featured .project-description{color:var(--muted);font-size:15px;line-height:1.65;display:block}.featured-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:600;display:inline-flex}.featured-badge:before{content:"☆"}.project-link{color:var(--accent);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}@media (width<=768px){.project-card--featured{flex-direction:column}.project-card--featured .project-media{width:100%;max-width:none}.project-card--featured .project-media img{aspect-ratio:16/9}.project-card--featured .project-body{padding:20px 22px}}.project-media{background:#1c1a160f;position:relative}.project-media img{object-fit:cover;width:100%;height:200px;display:block}.project-body{flex-direction:column;gap:12px;padding:18px 18px 20px;display:flex}.project-header{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.project-header h2{letter-spacing:normal;color:var(--ink);margin:0;font-size:18px}.project-date{letter-spacing:normal;color:var(--muted);font-size:12px}.project-description{color:var(--muted);margin:0;font-size:14px;line-height:1.6;display:none}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tags--overlay{justify-content:flex-end;position:absolute;top:12px;right:12px}.project-tags--overlay .project-tag{background:#ffffffd9;border-color:#1c1a1647;box-shadow:0 6px 16px #0000001f}.project-tag{letter-spacing:.14em;color:var(--ink);border:1px solid #1c1a1666;border-radius:999px;padding:4px 10px;font-size:11px}.project-card .project-tag{border:none}.project-downloads{margin-top:6px}.project-downloads h2{letter-spacing:.12em;color:var(--ink);margin:0 0 12px;font-size:16px}.project-downloads-list{border-top:1px solid #1c1a162e;flex-direction:column;display:flex}.project-download{color:var(--ink);border-bottom:1px solid #1c1a162e;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;text-decoration:none;transition:color .2s;display:grid}.project-download:hover,.project-download:focus-visible{color:var(--accent)}.project-download-type{letter-spacing:.14em;text-transform:uppercase;min-width:44px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:8px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;display:inline-flex}.project-download-type--pdf,.project-download-type--zip,.project-download-type--file{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 16%, transparent)}.project-download-title{letter-spacing:.04em;font-size:14px}.project-download-icon{color:currentColor;place-items:center;width:20px;height:20px;display:grid}.project-download-icon svg{width:20px;height:20px}.project-detail{max-width:75vw}@media (width<=900px){.page-section,.contact-page,.projects-page,.project-detail{max-width:100%}.page-two-thirds{width:100%}}.project-back{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:20px;font-size:12px;text-decoration:none;display:inline-flex}.project-detail-hero{background:#1c1a160f;border-radius:18px;width:100%;margin-bottom:24px;overflow:hidden}.project-detail-hero img{object-fit:cover;width:100%;max-height:420px;display:block}.project-detail-date{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.project-detail-course{letter-spacing:.08em;color:var(--ink);border:1px solid #1c1a1633;border-radius:999px;padding:4px 10px;font-size:11px}.project-detail-title{letter-spacing:normal;text-transform:none;color:var(--ink);margin:0 0 14px;font-size:42px}.project-detail-tags{margin-bottom:18px}.project-carousel{margin-bottom:18px;display:block;position:relative}.project-carousel-frame{background:#1c1a160f;border-radius:18px;min-height:320px;display:grid;position:relative;overflow:hidden}.project-carousel-image{object-fit:contain;opacity:0;pointer-events:none;z-index:0;grid-area:1/1;width:100%;height:100%;max-height:420px;transition:opacity .3s;position:relative}.project-carousel-image.is-active{opacity:1;pointer-events:auto;z-index:1}.project-carousel-button{z-index:2;width:36px;height:36px;color:var(--ink);cursor:pointer;background:#ffffffe6;border:1px solid #1c1a1633;border-radius:10px;place-items:center;font-size:20px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.project-carousel>.project-carousel-button:first-of-type{left:12px}.project-carousel>.project-carousel-button:last-of-type{right:12px}.project-carousel-dots{grid-column:1/-1;justify-content:center;gap:6px;margin-top:8px;display:flex}.project-carousel-caption{z-index:2;color:#fff;text-align:left;opacity:0;pointer-events:none;background:linear-gradient(#1c1a1600,#1c1a16d9);border-radius:0;margin:0;padding:28px 22px 18px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.project-carousel-frame:hover .project-carousel-caption,.project-carousel-frame:focus-within .project-carousel-caption{opacity:1;transform:translateY(0)}.project-carousel-dot{cursor:pointer;background:#1c1a1633;border:none;border-radius:999px;width:18px;height:4px}.project-carousel-dot.is-active{background:var(--ink)}.project-detail-people{border-top:1px solid #1c1a161f;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;padding-top:16px;display:grid}.project-detail-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.project-detail-value{color:var(--ink);gap:4px;font-size:14px;display:grid}.project-detail-description{color:var(--muted);white-space:pre-line;margin:0 0 16px;font-size:14px;line-height:1.6}.site-footer{background:var(--muted);color:var(--bg);margin-top:auto;padding:48px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;display:grid}.footer-block h3{letter-spacing:normal;margin:0 0 12px;font-size:14px}.footer-block p{color:var(--bg);margin:0 0 8px}.footer-links{flex-direction:column;gap:8px;display:flex}.footer-links a,.footer-block a{color:var(--bg);letter-spacing:.12em;font-size:12px;text-decoration:none}.footer-links a:hover,.footer-block a:hover{color:#fff}.footer-bottom{letter-spacing:.12em;border-top:1px solid #f8f5ef4d;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:32px;padding-top:16px;font-size:12px;display:flex}.footer-bottom a{color:var(--bg);text-decoration:none}.footer-bottom a:hover{color:#fff}.quote-text{font-family:var(--sans);color:var(--ink);margin:12px 0 28px;font-size:18px;font-style:italic}.identity-columns{grid-template-columns:1fr 2fr;align-items:start;gap:32px;margin-bottom:24px;display:grid}.identity-columns .quote-text,.identity-text p{margin:0}.roadmap-buttons{border-top:1px solid #1c1a162e;flex-direction:column;margin-top:24px;display:flex}.roadmap-button{color:var(--ink);border-bottom:1px solid #1c1a162e;grid-template-columns:64px minmax(0,1fr) 40px;align-items:center;padding:22px 0;text-decoration:none;transition:color .2s;display:grid}.roadmap-index{letter-spacing:.24em;text-transform:uppercase;color:var(--muted-light);font-size:14px}.roadmap-title{letter-spacing:.02em;font-size:clamp(29px,4.14vw,43px);font-weight:500;transition:transform .25s,color .25s}.roadmap-arrow{color:var(--muted-light);justify-self:end;font-size:28px;transition:transform .25s,color .25s}.roadmap-button:hover .roadmap-title,.roadmap-button:focus-visible .roadmap-title{color:var(--accent);transform:translate(12px)}.roadmap-button:hover .roadmap-arrow,.roadmap-button:focus-visible .roadmap-arrow{color:var(--accent);transform:translate(6px)}.roadmap-button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}@media (width<=720px){.roadmap-button{grid-template-columns:48px minmax(0,1fr) 28px;padding:16px 0}.roadmap-index{font-size:12px}.roadmap-title{font-size:clamp(23px,6.75vw,32px)}.roadmap-arrow{font-size:22px}}.left-rail{flex-direction:column;justify-content:space-between;height:100%;padding-left:8px;display:flex}.left-copy{color:var(--muted);margin-top:24px;font-size:13px;line-height:1.6}.left-meta{letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-top:20px;font-size:12px}.left-meta span{color:var(--accent);font-weight:700}.portrait-area{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.page-home .portrait-area{min-height:100vh}.portrait{z-index:1;background-image:url(/assets/Footloose_bestuursfotos-0019-pa5mDvOM.jpg);background-position:50%;background-size:cover;width:33.333vw;height:100vh}.page-home .portrait{height:100vh}.hero-blur-gradient{-webkit-backdrop-filter:blur(20px);z-index:2;pointer-events:none;height:35vh;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.hero-overlay{z-index:3;flex-direction:column;justify-content:flex-end;align-items:center;padding:48px 24px 32px;display:flex;position:absolute;inset:0 calc(50% - 50vw)}.hero-name{width:100%;color:var(--accent);letter-spacing:.06em;text-align:center;white-space:normal;word-break:break-word;text-transform:uppercase;max-width:90vw;margin:0;font-size:clamp(32px,9vw,140px);font-weight:700;line-height:.95}.hero-subtitle{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-top:12px;font-size:clamp(14px,2.4vw,22px);font-weight:700}.hero-socials{justify-content:center;width:100%;margin-bottom:18px;display:flex}.socials{letter-spacing:.24em;color:var(--ink);gap:16px;font-size:12px;display:flex}.socials a{color:inherit;text-decoration:none}@media (width<=1024px){.page{padding:0 24px 32px}.topbar{padding:24px 24px 0}.hero-grid{grid-template-columns:1fr;align-items:start}.left-rail,.right-rail{align-items:flex-start}.right-rail{gap:24px}.nav-links{display:none}.menu-toggle{display:flex}}@media (width<=640px){.portrait{height:100vh}}.activity-section{grid-template-columns:2fr 1fr;align-items:start;gap:40px;margin-bottom:64px;display:grid}.activity-content h2{margin:0 0 16px}.activity-badge{letter-spacing:.12em;width:fit-content;color:var(--ink);border:1px solid #1c1a1640;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;display:inline-flex}.activity-badge:before{content:"🖨";font-size:13px}.activity-gallery{grid-template-columns:1fr 1fr;align-content:start;gap:16px;display:grid}.activity-gallery-item:first-child{grid-column:1/-1}.activity-gallery-item{background:#1c1a160f;border-radius:18px;justify-content:center;align-items:center;min-height:180px;display:flex;position:relative;overflow:hidden}.activity-gallery-item img{object-fit:cover;width:100%;height:100%;max-height:320px;display:block}.activity-gallery-item:first-child img{max-height:360px}.activity-gallery-caption{color:#fff;text-align:left;opacity:0;pointer-events:none;background:linear-gradient(#1c1a1600,#1c1a16d9);border-radius:0;margin:0;padding:28px 22px 18px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.activity-gallery-item:hover .activity-gallery-caption,.activity-gallery-item:focus-visible .activity-gallery-caption{opacity:1;transform:translateY(0)}@media (width<=860px){.activity-section{grid-template-columns:1fr;gap:32px}.activity-gallery-item img{max-height:280px}.activity-gallery-item:first-child img{max-height:320px}}.present-section{grid-template-columns:2fr 1fr;align-items:start;gap:40px;margin-top:48px;margin-bottom:64px;display:grid}.present-content h2{margin:0 0 16px}.present-gallery{columns:2;column-gap:16px}.present-gallery-item{break-inside:avoid;background:#1c1a160f;border-radius:18px;justify-content:center;align-items:center;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.present-gallery-item.full-width{column-span:all}.present-gallery-item img{cursor:pointer;width:100%;height:auto;display:block}.lightbox-overlay{z-index:1000;background:#000000eb;justify-content:center;align-items:center;padding:32px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-content img{object-fit:contain;border-radius:8px;max-width:100%;max-height:85vh}.lightbox-caption{color:#fff;text-align:center;margin-top:12px;font-size:14px}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px 12px;font-size:32px;line-height:1;transition:opacity .2s;position:absolute;top:-40px;right:0}.lightbox-close:hover{opacity:.7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.present-gallery-caption{color:#fff;text-align:left;opacity:0;pointer-events:none;background:linear-gradient(#1c1a1600,#1c1a16d9);border-radius:0;margin:0;padding:28px 22px 18px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.present-gallery-item:hover .present-gallery-caption,.present-gallery-item:focus-visible .present-gallery-caption{opacity:1;transform:translateY(0)}@media (width<=860px){.present-section{grid-template-columns:1fr;gap:32px}.present-gallery{columns:2}}
