@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{color-scheme:light;--paper:#f6f4ed;--ink:#242923;--muted:#61665d;--line:#d7d9ce;--accent:#c44421;--orange:#e65931;--green:#dce5d4;--surface:#faf9f5;--note:#ece9df;--badge-line:#ced2c3;--badge-ink:#4e6042;--highlight:#f5d48a;--brand-cursor:#ff936f;--font:Inter, Arial, sans-serif}@media screen and (prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#1c211c;--ink:#f6f4ed;--muted:#b7bdb0;--line:#41493d;--accent:#ff936f;--orange:#ef7953;--green:#35432e;--surface:#252c24;--note:#30352b;--badge-line:#59684b;--badge-ink:#c0d4ad;--highlight:#66512a;--brand-cursor:#c44421}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{letter-spacing:-.055em;line-height:1.1}p+p{margin-top:18px}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}.container{width:min(1180px,100% - 96px);margin-inline:auto}.eyebrow{letter-spacing:.12em;font-size:11px;font-weight:650;line-height:1.6}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:30px;display:flex}.brand{letter-spacing:-.055em;align-items:center;gap:12px;font-size:19px;font-weight:750;line-height:1.1;display:flex}.brand-symbol{background:var(--ink);width:38px;height:38px;fill:var(--paper);border-radius:4px;flex:none}.brand-cursor{fill:var(--brand-cursor);animation:1.1s step-end infinite brand-cursor-blink}@keyframes brand-cursor-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.brand-cursor{animation:none}}.brand-ab{letter-spacing:.06em;margin-left:5px;font-size:9px}.site-header nav{align-items:center;gap:30px;font-size:13px;font-weight:550;display:flex}.site-header nav a[aria-current]{text-underline-offset:6px;text-decoration:underline}.nav-contact{border:1px solid var(--line);border-radius:5px;padding:10px 17px}.nav-contact span{margin-left:16px}.hero{padding-top:58px;padding-bottom:64px;position:relative;overflow:hidden}.hero h1{letter-spacing:-.08em;margin:0 0 34px;font-size:clamp(76px,10.2vw,144px);font-weight:650;line-height:.97}.accent-word{color:var(--accent)}.hero-bottom{z-index:1;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.hero-bottom>p{color:var(--muted);font-size:19px;line-height:1.6}.hero-actions{align-items:center;gap:26px;display:flex}.button{border-radius:5px;justify-content:space-between;align-items:center;gap:32px;padding:15px 22px;font-size:13px;font-weight:600;line-height:1.6;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--accent);color:#fff}.text-link{text-underline-offset:5px;font-size:13px;font-weight:600;text-decoration:underline}.products-section{border-top:1px solid var(--line);padding-block:50px 64px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.section-heading>p{color:var(--muted);font-size:13px}.product-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.product-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.product-artwork{display:block;overflow:hidden}.product-visual{--paper:#f6f4ed;color:#242923;height:300px;transition:transform .35s;position:relative;overflow:hidden}.product-visual.svampradarn{background:#dce6d3}.map-contours{background:repeating-radial-gradient(at 40% 40%,#0000 0 26px,#b1c2a34d 27px 29px,#0000 30px 49px);position:absolute;inset:-100px -30px;transform:rotate(-24deg)}.map-path{border:22px solid #edf1e5;border-radius:45% 30% 60% 40%;width:530px;height:170px;position:absolute;top:50px;left:-40px;transform:rotate(-30deg)}.map-label{letter-spacing:.16em;color:#465b3c;font-size:10px;font-weight:600;position:absolute;top:24px;left:28px}.map-dot{background:#6c874d;border:5px solid #f1f4e9;border-radius:50%;width:21px;height:21px;position:absolute;box-shadow:0 0 0 13px #6c874d25}.dot-one{top:21%;left:60%}.dot-two{background:#b78c49;top:43%;left:30%}.dot-three{top:54%;left:76%}.map-card{background:var(--paper);border:1px solid #b4c0a6;border-radius:7px;align-items:center;gap:17px;width:295px;padding:19px 22px;display:flex;position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)rotate(-4deg);box-shadow:0 14px 35px #30432915}.map-card strong{letter-spacing:-.05em;font-size:19px;display:block}.map-card small{color:#61665d;font-size:9px}.map-icon{color:#586e42;font-size:35px}.map-card>span:last-child{margin-left:auto}.visual-caption{color:#43533c;letter-spacing:.02em;font-size:9px;position:absolute;bottom:16px;left:24px}.product-visual.kredovis{background:#e9dfd0;justify-content:center;align-items:center;display:flex}.ledger-sheet{background:#faf9f5;border:1px solid #d1c4b3;border-radius:7px;width:285px;padding:20px 25px;transform:rotate(5deg);box-shadow:0 12px 30px #53453213}.ledger-head{align-items:center;gap:9px;font-size:12px;font-weight:650;display:flex}.ledger-logo{color:#fff;background:#354539;border-radius:3px;padding:0 6px;font-size:19px}.ledger-status{color:#62695e;letter-spacing:.1em;margin-left:auto;font-size:7px}.ledger-sheet p{letter-spacing:-.045em;margin:15px 0;font-size:22px;line-height:1.3}.ledger-sheet p strong{color:#626d57;font-weight:500}.ledger-row{border-top:1px solid #e0e1d8;justify-content:space-between;padding:7px 0;font-size:10px;display:flex}.kredovis .visual-caption{color:#66563f}.product-body{padding:25px 27px 26px}.product-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.product-meta .eyebrow{letter-spacing:.08em;font-size:9px}.badge{border:1px solid var(--badge-line);color:var(--badge-ink);white-space:nowrap;border-radius:20px;padding:2px 9px;font-size:9px}.product-body h3{margin:17px 0 14px;font-size:30px;font-weight:600}.product-body h3 a{justify-content:space-between;display:flex}.product-body h3 span{font-size:24px;font-weight:400}.product-body>p{color:var(--muted);max-width:440px;font-size:14px}.product-links{justify-content:space-between;gap:12px;margin-top:24px;font-size:11px;display:flex}.product-links .text-link{font-size:11px}.small-projects-section{border-top:1px solid var(--line);padding-block:50px 64px}.small-project-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.small-project-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:32px;padding:24px;display:flex}.small-project-card:hover{border-color:var(--accent)}.small-project-preview{background:#0d1520;border-radius:6px;flex:none;width:128px;overflow:hidden}.small-project-copy{min-width:0}.small-project-copy h3{overflow-wrap:anywhere;font-size:28px;font-weight:600}.small-project-copy p{color:var(--muted);margin-top:12px;font-size:14px}.small-project-copy>.text-link{margin-top:20px;display:inline-block}.about-section{border-top:1px solid var(--line);grid-template-columns:.85fr 1.15fr;align-items:center;gap:100px;padding-block:64px;display:grid}.portrait-wrap{position:relative}.portrait-wrap img{aspect-ratio:1.05;object-fit:cover;object-position:center;filter:grayscale();border-radius:6px;width:100%}.portrait-tag{background:var(--paper);border-radius:3px;padding:8px 15px;font-size:11px;position:absolute;bottom:22px;left:20px;transform:rotate(-3deg)}.about-copy h2{margin:18px 0 24px;font-size:41px;font-weight:550}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:15px}.about-copy .text-link{margin-top:24px;display:inline-block}.experience-strip{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:28px 0 40px;display:flex}.experience-strip>div{letter-spacing:-.04em;flex-wrap:wrap;gap:50px;font-size:23px;font-weight:600;display:flex}.experience-strip .eyebrow{color:var(--muted);font-size:9px}.contact-section{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:35px;padding-block:50px;display:flex}.contact-section h2{margin:12px 0 16px;font-size:45px;font-weight:550}.contact-section p:not(.eyebrow){color:var(--muted);max-width:530px;font-size:14px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-block:23px;font-size:10px;display:flex}.site-footer>div{gap:24px;display:flex}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:12px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:15px}.page-hero{padding-block:72px 64px}.page-hero h1{margin:25px 0;font-size:clamp(46px,6.9vw,92px);font-weight:600}.lead{color:var(--muted);max-width:720px;font-size:23px}.page-hero .button{margin-top:30px}.product-intro{max-width:690px;color:var(--muted);margin-top:24px}.back-link{margin-bottom:36px;font-size:12px;display:inline-block}.services{border-top:1px solid var(--line);padding-block:45px 60px}.services h2{margin-bottom:35px;font-size:34px;font-weight:550}.service-grid{grid-template-columns:repeat(3,1fr);gap:45px;display:grid}.service-grid h3{margin:16px 0;font-size:26px}.service-grid p{color:var(--muted);font-size:14px}.product-detail{grid-template-columns:1fr 1fr;align-items:start;gap:65px;padding-block:30px 75px;display:grid}.product-detail .product-visual{border-radius:8px;height:390px}.product-detail h2{font-size:34px;font-weight:550}.feature-list{color:var(--muted);margin:28px 0;padding-left:20px;font-size:15px}.feature-list li{margin:12px 0}.prototype-note{background:var(--note);border-left:3px solid var(--accent);padding:20px;font-size:13px}.prototype-note p+p{margin-top:10px}.cv-content{max-width:850px;padding-bottom:65px}.cv-hero{max-width:850px}.cv-hero .text-link{align-items:center;gap:6px;margin-top:20px;display:inline-flex}.cv-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.cv-content h2{font-size:36px;font-weight:550}.print-button{cursor:pointer;background:0 0;border:0;padding:5px}.cv-search{margin-block:25px 40px}.cv-search label{font-size:13px;font-weight:550}.search-controls{gap:10px;margin-top:8px;display:flex}.cv-search input{border:1px solid var(--line);background:var(--surface);border-radius:4px;width:100%;min-width:0;padding:12px;font-size:14px}.cv-search button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:4px;padding:10px 20px;font-size:13px}.cv-search [role=status]{color:var(--muted);margin-top:10px;font-size:12px}.cv-reading-options{margin-bottom:30px}.cv-reading-options label{cursor:pointer;align-items:center;gap:10px;width:fit-content;font-size:14px;display:flex}.cv-reading-options input{accent-color:var(--accent)}.cv-reading-options p{color:var(--muted);margin-top:8px;font-size:12px}.cv-position-summary,.cv-details{display:inline}.cv-details summary{cursor:pointer;color:var(--accent);text-underline-offset:4px;margin-left:.4em;font-size:13px;text-decoration:underline;display:inline-block}.cv-details summary:before{content:"▸ "}.cv-details[open] summary:before{content:"▾ "}.cv-details summary::-webkit-details-marker{display:none}.cv-details summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.cv-details .when-open,.cv-details[open] .when-closed{display:none}.cv-details[open] .when-open{display:inline}.cv-description{margin-top:14px}.cv-print-description{display:none}.cv-description p+p,.cv-print-description p+p{margin-top:12px}.cv-job{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.cv-job h3{margin-bottom:20px;font-size:30px;font-weight:550}.position-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;display:flex}.position-heading h4{letter-spacing:-.025em;font-size:20px;font-weight:550}.position-heading span{color:var(--muted);white-space:nowrap;font-size:11px}.cv-position p{color:var(--muted);font-size:14px}.cv-position .tech{margin-top:12px;font-size:12px}.cv-projects{border-left:2px solid var(--line);margin-top:25px;padding-left:25px}.cv-projects>h4{letter-spacing:.04em;margin-bottom:25px;font-size:13px;font-weight:600}.cv-projects .cv-position+.cv-position{margin-top:30px}.education-heading{margin-top:60px}@media (width>=1500px){.hero h1{font-size:144px}}@media (width<=1000px){.container{width:calc(100% - 64px)}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.about-section{gap:50px}.about-copy h2{font-size:33px}.experience-strip>div{gap:25px}.section-heading>p{max-width:230px}.product-meta{align-items:flex-start}.service-grid{gap:25px}.product-detail{gap:35px}}@media (width<=640px){.container{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:22px;padding-block:21px}.brand{font-size:19px}.site-header nav{justify-content:space-between;gap:15px;width:100%;font-size:12px}.nav-contact{padding:6px 10px}.hero{padding-block:38px 42px}.hero h1{margin-block:30px;font-size:clamp(72px,17.5vw,112px)}.hero-bottom{flex-direction:column;align-items:flex-start;gap:27px}.hero-bottom>p{font-size:16px}.hero-actions{flex-flow:wrap;align-items:center;gap:22px}.hero-actions .text-link{font-size:11px}.button{gap:22px;padding:13px 18px;font-size:12px}.desktop-break{display:none}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:18px;font-size:12px}.product-grid{grid-template-columns:1fr;gap:26px}.products-section,.small-projects-section{padding-block:35px 40px}.small-project-card{gap:20px;padding:20px}.small-project-preview{width:96px}.small-project-copy h3{font-size:22px}.small-project-copy p{font-size:12px}.small-project-copy>.text-link{margin-top:14px;font-size:11px}.product-visual{height:270px}.product-body{padding:22px}.about-section{grid-template-columns:1fr;gap:32px;padding-block:40px}.portrait-wrap{max-width:380px}.about-copy h2{font-size:34px}.experience-strip{padding-block:25px 32px;display:block}.experience-strip>div{gap:18px 28px;margin-top:20px;font-size:21px}.contact-section{flex-direction:column;align-items:flex-start;gap:25px;padding-block:35px}.contact-section h2{font-size:36px}.site-footer{flex-direction:column;gap:12px}.footer-note{display:block}.page-hero{padding-block:45px}.page-hero h1{font-size:clamp(42px,10vw,64px)}.lead{font-size:19px}.service-grid,.product-detail{grid-template-columns:1fr;gap:30px}.services h2,.product-detail h2{font-size:29px}.product-detail{padding-bottom:45px}.product-detail .product-visual{height:300px}.position-heading{display:block}.position-heading h4{margin-bottom:8px}.cv-heading{align-items:flex-start}.cv-content h2{font-size:30px}.print-button{font-size:11px}.cv-projects{padding-left:15px}.cv-job h3{font-size:27px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@media print{@page{margin:16mm}body{color:#000;background:#fff;font-size:10pt}.container{width:100%;max-width:none}.site-header,.site-footer,.contact-section,.skip-link,.cv-search,.cv-reading-options,.cv-position-summary,.cv-details,.print-button{display:none!important}.cv-hero{padding:0 0 15px}.cv-hero h1{margin:10px 0;font-size:32pt}.cv-hero .lead{font-size:14pt}.cv-hero p{color:#000;font-size:10pt}.cv-content{padding:0}.cv-content h2{font-size:22pt}.cv-job h3{break-after:avoid;font-size:18pt}.cv-position p{color:#000;font-size:9pt}.cv-position .tech{font-size:8pt}.cv-print-description{margin-top:14px;display:block!important}.cv-job{margin-top:18px;padding-top:15px}.position-heading{break-after:avoid}.cv-projects{margin-top:15px}.cv-projects .cv-position+.cv-position{margin-top:18px}a{color:#000}p{orphans:3;widows:3}}.product-card{flex-direction:column;display:flex}.product-body{flex-direction:column;flex:1;display:flex}.product-body>p{flex:1}@media (width<=380px){.small-project-card{gap:16px;padding:16px}.small-project-preview{width:80px}.small-project-copy h3{font-size:20px}.hero h1{font-size:17.5vw}.ledger-sheet{width:calc(100% - 40px)}.map-card{gap:10px;width:calc(100% - 30px);padding:15px}.map-card strong{font-size:16px}.map-card small{font-size:8px}}.cv-content mark[data-cv-match]{background:var(--highlight);color:var(--ink);border-radius:2px}
