:root{--bg:#101311;--panel:#191e1a;--text:#eff0e6;--muted:#a0ab9e;--accent:#c4ed8c;--line:#30382f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:var(--accent);color:var(--bg)}.header,main>section,footer{max-width:1440px;margin:auto;padding-left:7%;padding-right:7%}.header{height:110px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:700;font-size:16px;letter-spacing:-.5px}.logo span{color:var(--accent)}nav{display:flex;gap:32px;font-size:12px}nav a{color:var(--muted);transition:color .2s}nav a:hover{color:var(--accent)}.hero{position:relative;overflow:hidden;padding-top:75px;padding-bottom:28px}.eyebrow,.section-label,.number,.project-count{font:10px/1.6 monospace;letter-spacing:1.8px;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px #c4ed8c80}h1{font-size:clamp(58px,7.8vw,112px);font-weight:500;letter-spacing:-6px;line-height:1.03;position:relative;z-index:1;margin:33px 0 45px;animation:arrive .9s ease both}h1>span{color:#737f70}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{max-width:390px;color:var(--muted);font-size:15px;line-height:1.8;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:17px 23px;background:var(--accent);color:#182014;font-size:12px;border-radius:3px;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#d8ffa7;transform:translateY(-3px)}.hero-footer{display:flex;justify-content:space-between;margin-top:80px;border-top:1px solid var(--line);padding-top:24px;font:9px monospace;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.hero-orbit{position:absolute;right:-25px;top:100px;width:480px;height:480px;display:grid;place-items:center;opacity:.8;pointer-events:none}.hero-orbit>span{position:absolute;width:85%;height:85%;border:1px solid #65765555;border-radius:50%;transform:rotateX(60deg) rotate(-30deg);animation:orbit 24s linear infinite}.hero-orbit>span:nth-child(2){width:100%;height:100%;animation-direction:reverse;transform:rotateY(60deg) rotate(30deg)}.hero-orbit>span:nth-child(3){width:64%;height:64%;border-color:#c4ed8c65;animation-duration:35s}.hero-orbit b{font-size:120px;font-weight:400;letter-spacing:-12px;color:var(--accent);font-family:Georgia,serif;transform:rotate(-12deg)}.ticker{overflow:hidden;margin-top:50px;background:var(--accent);color:#26331c;padding:19px 0;transform:rotate(-1.4deg)}.ticker>div{width:max-content;font:11px monospace;letter-spacing:2px;animation:marquee 35s linear infinite}.ticker b{padding:0 32px;font-size:18px}.section{padding-top:115px;padding-bottom:115px}h2{font-size:clamp(38px,4.7vw,67px);line-height:1.12;letter-spacing:-2.6px;font-weight:400;margin:0 0 32px}.about,.approach{display:grid;grid-template-columns:1fr 2fr;gap:60px}.about>.section-label,.approach>.section-label{padding-top:10px}.about p,.approach p,.project-description>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:650px}.about .lead,.project-description .lead{font-size:21px;line-height:1.55;color:var(--text)}.about-signature{margin-top:35px;font:14px/1.8 monospace}.about-signature span{color:var(--accent)}.interests{background:var(--panel)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.section-top>.section-label{align-self:start;padding-top:12px}.section-top h2{margin:18px 0 0}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.interest{border-top:1px solid #414b3e;padding-top:22px}.number{font-size:9px}.interest-symbol{font:46px monospace;color:var(--accent);height:115px;display:flex;align-items:center;transition:transform .4s}.interest:hover .interest-symbol{transform:translateX(10px)}h3{font-size:23px;letter-spacing:-.7px;font-weight:400}.interest p{font-size:13px;line-height:1.9;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.tags span{font:9px monospace;border:1px solid #47513f;padding:8px 10px;border-radius:2px;color:#b9c7b2}.approach{border-bottom:1px solid var(--line)}.approach h2{font-size:clamp(48px,6.5vw,90px)}.text-link{font-size:12px;color:var(--accent);display:inline-flex;gap:24px;margin-top:20px;border-bottom:1px solid #586a44;padding-bottom:10px}.project-count{white-space:nowrap}.project-visual{background:#b7c5a3;min-height:490px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:50px}.terminal{background:#192119;width:650px;max-width:100%;border:1px solid #495b3e;border-radius:8px;transform:rotate(-3deg);box-shadow:25px 30px 0 #465d2825;transition:transform .6s}.project-visual:hover .terminal{transform:rotate(0deg) translateY(-5px)}.terminal-bar{display:flex;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #394a31;font:9px monospace;color:#adc093;letter-spacing:1px}.terminal-content{padding:32px}.terminal-label{font:10px monospace;letter-spacing:3px;color:#adc093}.terminal-content h3{font-size:65px;font-weight:600;line-height:1;letter-spacing:-3px;margin:20px 0}.terminal-content h3 span{color:var(--accent);animation:blink 1.3s step-end infinite}.terminal-content p{font:12px monospace;color:#c0ceaf}.code{font:11px/1.9 monospace;margin-top:26px;color:#d8e2cb}.code span{color:#839676}.visual-caption{position:absolute;right:20px;bottom:16px;font:9px monospace;color:#37472a}.project-description{padding-top:34px}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.project-heading h3{font-size:36px;margin:12px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);margin-top:30px;padding-top:16px}.feature-grid h4{font-size:13px;font-weight:500}.feature-grid ul{padding-left:15px;font-size:12px;line-height:1.9;color:var(--muted)}.feature-grid li{margin-bottom:10px}.project-description .project-note{font-size:11px}.contact{background:var(--accent);color:#1d2916}.contact .section-label{color:#526343;margin-bottom:30px}.contact em{color:#526343}.contact p{font-size:14px;color:#526343}.contact-link{display:inline-flex;gap:40px;border-bottom:1px solid #839b69;padding-bottom:12px;margin-top:20px;font-size:clamp(16px,2.5vw,30px);letter-spacing:-.5px}.contact-link span{transition:transform .2s}.contact-link:hover span{transform:translate(4px,-4px)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:35px;padding-bottom:35px}footer>span,footer>a:last-child{font:10px monospace;color:var(--muted)}.reveal{transition:opacity .8s ease,transform .8s ease}.reveal.pending{opacity:0;transform:translateY(28px)}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit{to{transform:rotateX(55deg) rotate(330deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes blink{50%{opacity:0}}@media(min-width:1600px){.header,main>section,footer{padding-left:100px;padding-right:100px}}@media(max-width:900px){.hero-orbit{right:-150px;opacity:.3}h1{font-size:80px}.about,.approach{grid-template-columns:1fr 2fr;gap:30px}.interest-grid{gap:20px}.feature-grid{grid-template-columns:1fr 1fr}.section{padding-top:85px;padding-bottom:85px}.section-top{display:block}.interest h3{font-size:20px}.project-count{display:inline-block;margin-top:25px}}@media(max-width:600px){.header{height:85px}nav{gap:16px;font-size:10px}.logo{font-size:13px}.header .logo span{display:none}.header .logo{max-width:75px;line-height:1.5}.hero{padding-top:45px}h1{font-size:57px;letter-spacing:-3.3px;margin:28px 0 30px}.eyebrow{font-size:8px;letter-spacing:1px}.hero-orbit{width:300px;height:300px;top:100px;right:-170px;opacity:.2}.hero-bottom{display:block}.hero-bottom p{font-size:14px}.hero-bottom .button{margin-top:26px}.hero-footer{font-size:7px;letter-spacing:.5px;margin-top:45px}.ticker{margin-top:20px}.section{padding-top:65px;padding-bottom:65px}.about,.approach{display:block}.about>.section-label,.approach>.section-label{margin-bottom:30px}h2{font-size:42px;letter-spacing:-1.8px}.about .lead{font-size:19px}.interest-grid,.feature-grid{grid-template-columns:1fr}.interest{padding-top:25px;padding-bottom:20px}.interest-symbol{height:85px}.interest h3{font-size:25px}.interest p{max-width:400px}.project-visual{min-height:340px;padding:30px 22px}.terminal-content{padding:22px}.terminal-content h3{font-size:47px}.terminal-label{font-size:8px}.code{font-size:9px}.terminal-bar{font-size:8px}.project-heading{display:block}.project-heading .button{margin:14px 0}.project-heading h3{font-size:30px}.project-description .lead{font-size:19px}.feature-grid{gap:4px}.contact-link{gap:14px}footer{flex-wrap:wrap}footer>.logo{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}

.learning-steps{margin:36px 0 10px}.learning-steps article{padding:24px 0;border-top:1px solid var(--line)}.learning-steps h3{margin:12px 0;font-size:22px}.learning-steps p{margin-bottom:0}

.language-switch{display:flex;gap:2px;border:1px solid var(--line);padding:3px;border-radius:4px}.language-switch[hidden]{display:none}.language-switch button{border:0;background:transparent;color:var(--muted);font:11px monospace;padding:8px 10px;cursor:pointer;border-radius:2px}.language-switch button[aria-pressed="true"]{background:var(--accent);color:var(--bg)}.language-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.header{gap:20px}.header nav{margin-left:auto}html[lang="nl"] h1{font-size:clamp(52px,6.9vw,100px)}@media(max-width:600px){.header{gap:12px;flex-wrap:wrap;height:auto;padding-top:20px;padding-bottom:20px}.header .logo{max-width:none}.header nav{gap:12px}.language-switch{margin-left:auto}.language-switch button{padding:7px 9px}html[lang="nl"] h1{font-size:49px}}
/* A quieter frame around the content. */
body{background-image:radial-gradient(ellipse at 12% 4%,#27351c55,transparent 38%)}
.header{position:relative;z-index:5;border-bottom:1px solid #30382f70}
.header nav a{position:relative;padding:10px 0}
.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.header nav a:hover::after,.header nav a[aria-current="location"]::after{transform:scaleX(1)}
.header nav a[aria-current="location"]{color:var(--accent)}
.language-switch{position:relative;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #526044;background:#1c2419;border-radius:24px;box-shadow:inset 0 1px 0 #ffffff06;transition:border-color .2s,background .2s}
.language-switch:hover,.language-switch:focus-within{border-color:var(--accent);background:#25301e}
.language-switch label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.language-globe{font-size:22px;color:var(--accent);line-height:1}
.language-switch select{font:11px Arial,sans-serif;letter-spacing:.2px;color:var(--text);background:transparent;border:0;padding:12px 4px;cursor:pointer;color-scheme:dark;max-width:120px}
.language-switch select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:5px}
.language-switch select option{background:var(--panel);color:var(--text)}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:20;appearance:none;border:0;background:transparent;pointer-events:none;color:var(--accent)}
.scroll-progress::-webkit-progress-bar{background:transparent}.scroll-progress::-webkit-progress-value{background:var(--accent)}.scroll-progress::-moz-progress-bar{background:var(--accent)}
.hero-orbit::before{content:'';position:absolute;inset:12%;background:radial-gradient(circle,#b4e98116,transparent 70%);filter:blur(25px)}
.interest{border-radius:0 0 8px 8px;transition:background .3s,border-color .3s,transform .3s}
.interest:hover{border-color:var(--accent);background:#c4ed8c04;transform:translateY(-4px)}
.about-signature{border-left:2px solid var(--accent);padding-left:20px}
.learning-steps article{position:relative;padding-left:20px;transition:border-color .3s}
.learning-steps article::before{content:'';position:absolute;left:0;top:30px;width:4px;height:4px;background:var(--accent);border-radius:50%}
.learning-steps article:hover{border-color:#73895a}
.contact{position:relative;overflow:hidden;background-image:radial-gradient(ellipse at 100% 0,#e4ffb3,transparent 60%)}
.contact::after{content:'↗';position:absolute;font:300px Georgia,serif;right:5%;top:15%;opacity:.06;pointer-events:none}
html[lang="de"] h1,html[lang="fr"] h1{font-size:clamp(49px,6.7vw,94px)}
html[lang="fr"] h2{font-size:clamp(35px,4.1vw,59px)}
@media(max-width:600px){.header{column-gap:12px;row-gap:14px}.header .logo{flex:1}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px}.language-switch{margin-left:0}.language-switch select{padding:9px 2px;font-size:11px}.language-globe{font-size:19px}.hero{padding-top:36px}html[lang="de"] h1,html[lang="fr"] h1{font-size:clamp(39px,9.5vw,56px);letter-spacing:-2.5px}html[lang="fr"] h2{font-size:36px}.contact::after{font-size:180px;right:-20px;top:30px}}

.language-trigger{display:flex;align-items:center;gap:14px;min-width:108px;text-align:left}.language-switch .language-trigger{padding:12px 0;border-radius:0;font:11px Arial,sans-serif;color:var(--text);outline:none}.language-switch:has(.language-trigger:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.language-trigger #language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-chevron{margin-left:auto;color:var(--accent);transition:transform .2s}.language-trigger[aria-expanded="true"] .language-chevron{transform:rotate(180deg)}.language-options{position:absolute;right:0;top:calc(100% + 10px);min-width:180px;padding:6px;background:#1b2319;border:1px solid #46563a;border-radius:12px;box-shadow:0 16px 40px #0006;z-index:30}.language-options[hidden]{display:none}.language-options button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;text-align:left;border-radius:7px;font:12px Arial,sans-serif;color:var(--text)}.language-options button span{visibility:hidden;color:var(--accent)}.language-options button[aria-pressed="true"]{color:var(--accent);background:#c4ed8c0c}.language-options button[aria-pressed="true"] span{visibility:visible}.language-options button:hover,.language-options button:focus-visible{background:#c4ed8c15;outline:none}.language-options button:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}@media(max-width:600px){.language-switch .language-trigger{padding:10px 0;min-width:95px}}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.project-grid .project{min-width:0}.project-grid .project-visual{min-height:0;height:300px;padding:28px}.project-grid .terminal{width:100%;max-width:370px;box-shadow:14px 17px 0 #465d2825}.project-grid .terminal-bar{padding:10px 14px;font-size:7px}.project-grid .terminal-content{padding:22px}.project-grid .terminal-label{font-size:8px;letter-spacing:2px}.project-grid .terminal-content h3{font-size:43px;margin:14px 0}.project-grid .terminal-content p{font-size:10px}.project-grid .code{font-size:9px;margin-top:17px}.project-grid .visual-caption{font-size:8px;bottom:10px;right:12px}.project-grid .project-description{padding-top:24px}.project-grid .project-heading{display:block}.project-grid .project-heading h3{font-size:28px;margin:10px 0 16px}.project-grid .project-heading .section-label{font-size:8px;letter-spacing:1px}.project-grid .button{padding:12px 17px;gap:25px;font-size:11px}.project-grid .project-description .lead{font-size:18px;margin-top:22px}.project-grid .project-description>p{font-size:13px}.project-grid .tags{margin-top:20px}.project-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px;padding:16px 0}.project-more summary{cursor:pointer;color:var(--accent);font:11px monospace;list-style-position:inside}.project-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.project-more .feature-grid{grid-template-columns:1fr;border:0;margin-top:10px;padding:0;gap:0}.project-more .project-note{font-size:11px;line-height:1.8;color:var(--muted)}.project-grid .digger-visual{background:#a7bbad}.digger-visual .terminal{transform:rotate(3deg)}.digger-visual:hover .terminal{transform:rotate(0deg) translateY(-5px)}@media(max-width:800px){.project-grid{grid-template-columns:1fr;gap:55px}.project-grid .project-visual{height:320px}.project-grid .terminal{max-width:420px}}
