@import "https://fonts.googleapis.com/css?family=IBM+Plex+Mono|Maiden+Orange";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}html{height:100%!important}body{min-height:100%!important}div#root{height:100vh!important}.full-height{height:100%!important}a{text-decoration:none!important}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.has-bg-img-keyboard{background:url(/assets/keyboard-BkeM5IW1.jpg) 50%/cover}.has-bg-img-escalator{background:url(/assets/escalator-BZmcRKKr.jpg) 50%/cover}.has-bg-img-ocean{background:url(/assets/ocean-BUoJ9Zpl.jpg) 50%/cover}.has-bg-img-reach{background:url(/assets/reach-7ZyBaY-r.jpg) 50%/cover}.has-bg-img-bulb{background:url(/assets/bulb2-DZDNSc5p.jpg) 50%/cover}.notfound-container{margin-top:100px}.notfound-title{font-size:200px}.notfound-subtitle{font-size:50px}.notfound-content{font-size:25px}.jumbotron-full-page{flex-direction:column;min-height:100vh;margin:0 0 20px;padding:0 50px;display:flex;border-radius:0!important}.jumbotron-full-page div#scroll-arrow{flex-grow:1;align-items:end!important}.jumbotron-full-page span{color:#fff;cursor:pointer;text-decoration:none}.jumbotron-full-page .arrow{text-align:center;margin:8% 0;font-size:100px}.jumbotron-full-page .bounce{animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}#jumbotron-title{font-size:62px;font-weight:bolder}#jumbotron-subtitle,.subtitle-style{font-family:Maiden Orange,cursive;font-size:23px;font-style:italic}.jumbotron-content{flex-direction:column;flex-grow:1;min-height:100%;padding-top:180px;padding-bottom:40px;display:flex}.big-icon{text-align:center;justify-content:center;align-items:center;margin:0 auto;font-size:100px;display:flex}.main-button{text-shadow:0 1px 4px #000000e6;letter-spacing:.05em;border-radius:0;width:300px;height:60px;padding-top:10px;font-size:20px;font-weight:700;display:block;box-shadow:0 4px 16px #00000080,inset 0 1px #ffffff26;color:#fff!important;background:#00000059!important;border:2px solid #ffffffe6!important}.main-button:hover{text-shadow:none;box-shadow:0 6px 24px #0009;color:#111!important;background:#fffffff2!important}.always-visible{display:block!important}.cv-swedish-btn-row,.cv-english-btn-row{margin:10px}.cv-english-btn-row div a#btn-resume-english{margin:0!important}#btn-resume-swedish,#btn-resume-english{width:320px}.wrapper-btn-github,.wrapper-btn-thesis,.wrapper-btn-linkedin{margin:0 0 10px!important}.caret{vertical-align:middle;border-top:4px dashed;border-top:4px solid \9 ;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:2px;display:inline-block}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9 ;content:""}ul.is-unstyled{margin:0!important;padding:0!important;list-style:none!important}.outline{color:#fff;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000!important}.sandbox{padding:5rem 0}label.radio{padding:5px!important}input.radio-value{margin-right:10px!important}div.radio-form{padding-bottom:10px}@media only screen and (width>=768px){#form-container{width:500px}}@media only screen and (device-width>=768px) and (device-width<=1024px){.jumbotron-content{padding-top:70px}}@media only screen and (width<=768px){.jumbotron-content{padding-top:70px}}@media only screen and (width<=480px){#jumbotron-title{font-size:52px!important}.jumbotron-content{padding-top:20px}}@media only screen and (width<=350px){#btn-github,#btn-resume-mobile-swedish,#btn-resume-mobile-english,#btn-linkedin,#btn-thesis{width:220px!important}#jumbotron-title{font-size:45px!important}}.navbar.transparent.navbar-inverse .navbar-inner{background:#0006!important}.navbar-nav a{color:#fff!important}button.navbar-toggler i{color:#fff!important;font-size:20px!important}div.navbar-nav{text-align:center!important}div.navbar-nav:hover>a{opacity:.5;transition:opacity .2s linear}div.navbar-nav:hover>a:hover{opacity:1;transition:opacity .1s}.navbar-toggler{border:none;background:0 0!important}.navbar-toggler:focus{outline:none;background:0 0!important}.navbar-toggler .icon-bar{background-color:#fff;border-radius:1px;width:22px;height:2px;transition:all .2s;display:block;transform:rotate(0)translate(0)}.navbar-toggler .icon-bar+.icon-bar{margin-top:4px}.icon-bar:nth-child(2),.navbar-toggler:hover>.icon-bar:nth-child(2),.navbar-toggler:active>.icon-bar:nth-child(2){width:22px;transition:all .2s}.navbar-toggler:not(.collapsed) .icon-bar:first-child{transition:all .2s;transform:rotate(45deg)translate(5px,4px)}.navbar-toggler:not(.collapsed) .icon-bar:nth-child(2){opacity:0;transition:all .2s}.navbar-toggler:not(.collapsed) .icon-bar:nth-child(3){transition:all .2s;transform:rotate(-45deg)translate(4px,-4px)}.sec-accent{background-color:#fafcf5}.blue{background-color:#99c}@media only screen and (width<=768px){.navbar-nav a{text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000!important}}nav.no-background{background-color:#000;margin-bottom:20px;padding:20px 50px}.site-navbar .site-navbar-toolbar{min-height:68px}.site-navbar .site-navbar-logo{border-radius:8px;display:inline-flex}.site-navbar .site-navbar-logo:focus-visible,.site-navbar .site-navbar-link:focus-visible,.site-navbar .MuiIconButton-root:focus-visible{outline-offset:4px;outline:2px solid #c7f36b}.site-navbar .site-navbar-link{transition:color .18s,background-color .18s!important}.site-navbar .site-navbar-link:hover{background-color:#c7f36b14}@media (prefers-reduced-motion:reduce){.site-navbar .site-navbar-link{transition:none!important}}.personal-site-page{--personal-background:#0a0c0f;--personal-surface:#12161a;--personal-surface-raised:#171d21;--personal-border:#e8efec24;--personal-border-strong:#e8efec3d;--personal-text:#f2f5f1;--personal-muted:#9ca8a4;--personal-accent:#c7f36b;--personal-secondary:#6bb8b0;min-height:100vh;color:var(--personal-text);background:var(--personal-background);overflow:hidden}.personal-site-page .MuiAppBar-root{border-bottom:1px solid var(--personal-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0c0fe0!important}.personal-site-page .MuiToolbar-root{min-height:68px}.personal-site-page a:focus-visible,.personal-site-page button:focus-visible,.personal-site-page input:focus-visible,.personal-site-page textarea:focus-visible{outline:2px solid var(--personal-accent);outline-offset:3px}.personal-page-hero{isolation:isolate;background:radial-gradient(circle at 85% 20%, #c7f36b1c, transparent 24rem), radial-gradient(circle at 9% 80%, #56b4ac14, transparent 24rem), var(--personal-background);padding:clamp(4.5rem,8vw,7rem) 0;position:relative}.personal-page-hero:before{z-index:-1;content:"";opacity:.5;background-image:linear-gradient(90deg,#f2f5f10f 1px,#0000 1px),linear-gradient(#f2f5f10f 1px,#0000 1px);background-size:82px 82px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.personal-page-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:end;gap:clamp(3rem,8vw,8rem);display:grid}.personal-page-hero-grid-single{grid-template-columns:minmax(0,820px)}.personal-page-hero-copy{max-width:800px}.personal-page-kicker,.personal-page-label,.personal-page-footer-copy,.personal-page-footer-link,.personal-page-stat-label,.personal-page-tag,.personal-page-link-meta,.personal-page-card-index{letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace!important}.personal-page-kicker{color:var(--personal-accent);align-items:center;gap:.7rem;display:flex;margin:0 0 1.5rem!important;font-size:.72rem!important;font-weight:700!important}.personal-page-kicker-mark{background:var(--personal-accent);width:30px;height:1px}.personal-page-title{max-width:820px;color:var(--personal-text);letter-spacing:-.07em!important;margin:0!important;font-size:clamp(3.2rem,6.3vw,6.4rem)!important;font-weight:800!important;line-height:.93!important}.personal-page-title em{color:var(--personal-accent);font-style:normal;display:block}.personal-page-description{max-width:610px;color:var(--personal-muted);margin:2rem 0 0!important;font-size:clamp(1rem,1.5vw,1.2rem)!important;line-height:1.7!important}.personal-page-actions{margin-top:2rem}.personal-page-primary-action,.personal-page-secondary-action{min-height:50px;text-transform:none!important;border-radius:999px!important;font-weight:800!important}.personal-page-primary-action{box-shadow:0 12px 30px #c7f36b29;color:var(--personal-background)!important;background:var(--personal-accent)!important;padding:.7rem 1.35rem!important}.personal-page-primary-action:hover{transform:translateY(-2px);background:#d4fa82!important}.personal-page-secondary-action{color:var(--personal-text)!important;border:1px solid var(--personal-border-strong)!important;padding:.7rem 1.2rem!important}.personal-page-secondary-action:hover{border-color:var(--personal-accent)!important;background:#c7f36b0f!important}.personal-page-primary-action,.personal-page-secondary-action,.personal-page-link-card,.personal-page-footer-link{transition:transform .18s,color .18s,border-color .18s,background-color .18s}.personal-page-hero-aside{justify-content:flex-end;display:flex}.personal-page-signal,.personal-page-stamp,.personal-page-note{border:1px solid var(--personal-border);background:#12161ac7;border-radius:22px;width:min(100%,350px);padding:1.5rem;position:relative;overflow:hidden}.personal-page-signal:after,.personal-page-stamp:after,.personal-page-note:after{content:"";border:1px solid #c7f36b38;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-80px;right:-60px}.personal-page-label,.personal-page-stat-label,.personal-page-tag,.personal-page-link-meta,.personal-page-card-index{color:var(--personal-muted);font-size:.65rem!important}.personal-page-signal-title,.personal-page-stamp-title,.personal-page-note-title{z-index:1;color:var(--personal-text);letter-spacing:-.04em;position:relative;margin:2rem 0 1.2rem!important;font-size:1.5rem!important;font-weight:800!important}.personal-page-signal-list{z-index:1;gap:.7rem;display:grid;position:relative}.personal-page-signal-item{border-top:1px solid var(--personal-border);justify-content:space-between;align-items:center;padding-top:.7rem;display:flex}.personal-page-signal-item a{color:var(--personal-text);font-size:.95rem;text-decoration:none}.personal-page-signal-item a:hover{color:var(--personal-accent)}.personal-page-signal-item span:last-child{color:var(--personal-accent);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem}.personal-page-stamp-number{z-index:1;color:var(--personal-text);letter-spacing:-.1em;position:relative;margin:2.8rem 0 0!important;font-size:clamp(5rem,8vw,7.2rem)!important;font-weight:800!important;line-height:.8!important}.personal-page-stamp-caption{z-index:1;color:var(--personal-accent);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem;position:relative;margin:1rem 0 0!important}.personal-page-content{border-top:1px solid var(--personal-border)}.personal-page-section{padding:clamp(4.5rem,8vw,7rem) 0}.personal-page-section+.personal-page-section{border-top:1px solid var(--personal-border)}.personal-page-section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.personal-page-section-heading h2{color:var(--personal-text);letter-spacing:-.065em;margin:0;font-size:clamp(2.2rem,4vw,3.8rem);line-height:.95}.personal-page-section-intro{max-width:390px;color:var(--personal-muted);text-align:right;margin:0!important;font-size:.95rem!important;line-height:1.65!important}.personal-page-card-grid,.personal-page-link-grid,.resume-download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.personal-page-card,.personal-page-link-card,.resume-download-card,.contact-form-panel,.contact-context-panel{border:1px solid var(--personal-border);background:var(--personal-surface);border-radius:18px}.personal-page-card{min-height:220px;padding:1.5rem}.personal-page-card-index{color:var(--personal-accent);margin-bottom:3.5rem;display:block}.personal-page-card h3,.personal-page-link-card h3,.resume-download-card h3{color:var(--personal-text);letter-spacing:-.035em;margin:0 0 .75rem;font-size:1.25rem}.personal-page-card p,.personal-page-link-card p,.resume-download-card p,.contact-context-panel p{color:var(--personal-muted);margin:0;font-size:.95rem;line-height:1.65}.personal-page-card:nth-child(2){background:linear-gradient(145deg, #6bb8b021, var(--personal-surface) 65%)}.personal-page-card:nth-child(3){background:linear-gradient(145deg, #c7f36b1f, var(--personal-surface) 65%)}.personal-page-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.personal-page-link-card{min-height:185px;color:inherit;padding:1.4rem;display:block;text-decoration:none!important}.personal-page-link-card:hover{border-color:var(--personal-accent);background:var(--personal-surface-raised);transform:translateY(-4px)}.personal-page-link-card h3{margin-top:2.5rem}.personal-page-link-meta{color:var(--personal-accent);justify-content:space-between;display:flex}.personal-page-copy-grid,.contact-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:start;gap:clamp(2rem,7vw,7rem);display:grid}.personal-page-copy p{max-width:650px;color:var(--personal-muted);margin:0 0 1.3rem;font-size:1.08rem;line-height:1.8}.personal-page-copy p:last-child{margin-bottom:0}.personal-page-subheading{color:var(--personal-text);letter-spacing:-.06em!important;margin:0 0 1.5rem!important;font-size:clamp(2rem,4vw,3.4rem)!important;line-height:1!important}.personal-page-copy-text{z-index:1;color:var(--personal-muted);position:relative;margin:0!important;font-size:.95rem!important;line-height:1.65!important}.personal-page-inline-links{z-index:1;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;display:flex;position:relative}.personal-page-inline-links a{color:var(--personal-text);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem;text-decoration:none}.personal-page-inline-links a:hover{color:var(--personal-accent)}.personal-page-principles{gap:1rem;display:grid}.personal-page-principle{border-top:1px solid var(--personal-border);padding-top:1rem}.personal-page-principle h3{color:var(--personal-text);margin:0 0 .45rem;font-size:1rem}.personal-page-principle p{color:var(--personal-muted);margin:0;font-size:.9rem;line-height:1.55}.resume-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-download-card{min-height:245px;color:inherit;padding:1.5rem;transition:transform .18s,border-color .18s,background-color .18s;display:block;text-decoration:none!important}.resume-download-card:hover{border-color:var(--personal-accent);background:var(--personal-surface-raised);transform:translateY(-4px)}.resume-download-card h3{margin-top:3.5rem}.resume-download-action{border-top:1px solid var(--personal-border);color:var(--personal-accent);text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:.8rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:flex}.contact-context-panel,.contact-form-panel{padding:clamp(1.4rem,3vw,2.3rem)}.contact-context-panel{background:linear-gradient(145deg, #c7f36b1a, var(--personal-surface) 60%)}.contact-context-panel h2{color:var(--personal-text);letter-spacing:-.06em;margin:2rem 0 .8rem;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1}.contact-context-list{gap:.8rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.contact-context-list li{border-top:1px solid var(--personal-border);color:var(--personal-muted);padding-top:.8rem;font-size:.9rem}.contact-form-panel{background:var(--personal-surface)}.contact-form{gap:1.15rem;display:grid}.contact-field{gap:.5rem;display:grid}.contact-field label{color:var(--personal-text);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem}.contact-field label span{color:var(--personal-accent)}.contact-field input,.contact-field textarea{box-sizing:border-box;border:1px solid var(--personal-border-strong);width:100%;color:var(--personal-text);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff09;border-radius:10px;font-size:.95rem;line-height:1.5;transition:border-color .18s,background-color .18s,box-shadow .18s}.contact-field input{min-height:52px;padding:0 1rem}.contact-field textarea{resize:vertical;min-height:150px;padding:.9rem 1rem}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--personal-muted);opacity:.72}.contact-field input:hover,.contact-field textarea:hover{background:#c7f36b0b;border-color:#c7f36b80}.contact-field input:focus-visible,.contact-field textarea:focus-visible{border-color:var(--personal-accent);background:#c7f36b0f;box-shadow:0 0 0 3px #c7f36b21;outline:none!important}.contact-field-helper{color:var(--personal-muted);margin:0!important;font-size:.78rem!important;line-height:1.4!important}.contact-form-submit{width:100%;min-height:50px!important;color:var(--personal-background)!important;background:var(--personal-accent)!important;text-transform:none!important;border-radius:999px!important;margin-top:.25rem!important;font-family:inherit!important;font-weight:800!important}.contact-form-submit:hover{background:#d4fa82!important}.personal-page-footer{border-top:1px solid var(--personal-border);padding:2rem 0}.personal-page-footer-copy,.personal-page-footer-link{color:var(--personal-muted)!important;margin:0!important;font-size:.65rem!important}.personal-page-footer-link:hover{color:var(--personal-accent)!important}@media (width<=850px){.personal-page-hero-grid,.personal-page-copy-grid,.contact-layout{grid-template-columns:1fr}.personal-page-hero-aside{justify-content:flex-start}.personal-page-card-grid,.personal-page-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.personal-page-title{font-size:clamp(3.1rem,14vw,5rem)!important}.personal-page-section-heading{display:block}.personal-page-section-intro{text-align:left;margin-top:1rem!important}.personal-page-card-grid,.personal-page-link-grid,.resume-download-grid{grid-template-columns:1fr}.personal-page-card,.personal-page-link-card,.resume-download-card{min-height:190px}}@media (prefers-reduced-motion:reduce){.personal-page-primary-action,.personal-page-secondary-action,.personal-page-link-card,.resume-download-card,.personal-page-footer-link{transition:none}}.portfolio-page{--portfolio-background:#0a0c0f;--portfolio-surface:#12161a;--portfolio-border:#e8efec24;--portfolio-text:#f2f5f1;--portfolio-muted:#9ca8a4;--portfolio-accent:#c7f36b;min-height:100vh;color:var(--portfolio-text);background:var(--portfolio-background);overflow:hidden}.portfolio-page .MuiAppBar-root{border-bottom:1px solid var(--portfolio-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0c0fdb!important}.portfolio-page .MuiToolbar-root{min-height:68px}.portfolio-page a:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}.portfolio-hero{isolation:isolate;background:radial-gradient(circle at 83% 22%, #c7f36b1f, transparent 25rem), radial-gradient(circle at 7% 80%, #56b4ac17, transparent 28rem), var(--portfolio-background);padding:clamp(5rem,9vw,7rem) 0 clamp(5rem,8vw,6.5rem);position:relative}.portfolio-hero:before{z-index:-1;content:"";opacity:.5;background-image:linear-gradient(90deg,#f2f5f10f 1px,#0000 1px),linear-gradient(#f2f5f10f 1px,#0000 1px);background-size:82px 82px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.portfolio-hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);align-items:end;gap:clamp(3rem,8vw,9rem);display:grid}.portfolio-hero-copy{max-width:820px}.portfolio-eyebrow,.portfolio-kicker,.portfolio-index-label,.portfolio-index-caption,.portfolio-index-note,.project-card-kind,.project-card-index,.project-card-status{letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace!important}.portfolio-eyebrow,.portfolio-kicker{color:var(--portfolio-accent);margin:0 0 1.5rem!important;font-size:.72rem!important;font-weight:700!important}.portfolio-hero-title{max-width:780px;color:var(--portfolio-text);letter-spacing:-.065em!important;margin:0!important;font-size:clamp(3.2rem,6vw,6.2rem)!important;font-weight:800!important;line-height:.92!important}.portfolio-hero-title em{color:var(--portfolio-accent);font-style:normal;display:block}.portfolio-hero-description{max-width:590px;color:var(--portfolio-muted);margin:2.5rem 0 0!important;font-size:clamp(1rem,1.5vw,1.2rem)!important;line-height:1.7!important}.portfolio-hero-links{margin-top:2.3rem}.portfolio-hero-link,.portfolio-footer-link{transition:color .18s;color:var(--portfolio-text)!important;font-size:.9rem!important;text-decoration:none!important}.portfolio-hero-link:hover,.portfolio-footer-link:hover{color:var(--portfolio-accent)!important}.portfolio-hero-link-muted{color:var(--portfolio-muted)!important}.portfolio-hero-index{border:1px solid var(--portfolio-border);background:#12161ab8;border-radius:22px;min-height:280px;padding:1.5rem;position:relative;overflow:hidden}.portfolio-hero-index-orbit{border:1px solid #c7f36b47;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-70px;right:-50px}.portfolio-hero-index-orbit:after{background:var(--portfolio-accent);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:26px;left:30px;box-shadow:0 0 20px 5px #c7f36b6b}.portfolio-index-label,.portfolio-index-caption,.portfolio-index-note{z-index:1;position:relative;margin:0!important;font-size:.65rem!important}.portfolio-index-label,.portfolio-index-note{color:var(--portfolio-muted)}.portfolio-index-count{z-index:1;color:var(--portfolio-text);letter-spacing:-.1em;position:relative;margin:2.5rem 0 0!important;font-size:clamp(5rem,9vw,8rem)!important;font-weight:800!important;line-height:.8!important}.portfolio-index-caption{color:var(--portfolio-accent);margin-top:.8rem!important}.portfolio-index-rule{background:var(--portfolio-border);width:100%;height:1px;margin:2rem 0 1rem}.portfolio-showcase{border-top:1px solid var(--portfolio-border);padding:clamp(5rem,9vw,8rem) 0}.portfolio-section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.portfolio-section-heading h2{color:var(--portfolio-text);letter-spacing:-.07em;margin:0;font-size:clamp(2.3rem,4.5vw,4rem);line-height:.95}.portfolio-section-description{max-width:360px;color:var(--portfolio-muted);text-align:right;margin:0!important;font-size:.95rem!important;line-height:1.65!important}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:1rem;display:grid}.project-card-link{min-width:0;color:inherit;display:block;text-decoration:none!important}.project-card{isolation:isolate;border:1px solid var(--portfolio-border);background:var(--portfolio-surface);border-radius:20px;height:100%;min-height:360px;transition:border-color .22s,transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.project-card:after{z-index:-1;background:var(--card-accent);content:"";filter:blur(48px);opacity:.15;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.project-card-art,.project-card-wash{position:absolute;inset:0}.project-card-art{z-index:-3;background-image:var(--card-image);filter:saturate(.78);opacity:.57;background-position:50%;background-size:cover;transition:transform .5s cubic-bezier(.2,.75,.25,1),opacity .22s;transform:scale(1.01)}.project-card-wash{z-index:-2;background:linear-gradient(#080a0c26 0%,#080a0cc7 48%,#080a0c 100%)}.project-card-topline{justify-content:space-between;align-items:center;display:flex;position:absolute;top:1.25rem;left:1.25rem;right:1.25rem}.project-card-index,.project-card-status{color:#f2f5f1b8;font-size:.62rem!important}.project-card-status{background:#080a0c4d;border:1px solid #f2f5f133;border-radius:999px;padding:.35rem .55rem}.project-card-content{flex-direction:column;justify-content:flex-end;align-self:flex-end;width:100%;padding:1.35rem;display:flex}.project-card-kind{color:var(--card-accent);margin:0 0 .65rem!important;font-size:.65rem!important;font-weight:700!important}.project-card-title{color:var(--portfolio-text);letter-spacing:-.055em!important;margin:0!important;font-size:clamp(1.5rem,2.1vw,2rem)!important;font-weight:800!important;line-height:1!important}.project-card-description{color:#f2f5f1c7;max-width:360px;margin:.8rem 0 0!important;font-size:.9rem!important;line-height:1.55!important}.project-card-action{color:var(--portfolio-text);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #f2f5f133;justify-content:space-between;align-items:center;margin-top:1.4rem;padding-top:.9rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:flex}.project-card-arrow{border:1px solid #f2f5f147;border-radius:50%;place-items:center;width:28px;height:28px;font-family:sans-serif;font-size:1rem;transition:background-color .18s,color .18s,transform .18s;display:grid}.project-card-link:hover .project-card,.project-card-link:focus-visible .project-card{border-color:var(--card-accent);transform:translateY(-5px);box-shadow:0 20px 48px #00000047}.project-card-link:hover .project-card-art,.project-card-link:focus-visible .project-card-art{opacity:.75;transform:scale(1.07)}.project-card-link:hover .project-card-arrow,.project-card-link:focus-visible .project-card-arrow{color:var(--portfolio-background);background:var(--card-accent);transform:rotate(8deg)}.portfolio-footer{border-top:1px solid var(--portfolio-border);padding:2rem 0}.portfolio-footer-copy{color:var(--portfolio-muted);margin:0!important;font-size:.82rem!important}@media (width<=1050px){.portfolio-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:3rem}.portfolio-hero-title{font-size:clamp(3.2rem,6.5vw,5.5rem)!important}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.portfolio-hero-grid{grid-template-columns:1fr;gap:3.5rem}.portfolio-hero-title{font-size:clamp(3.1rem,14vw,5rem)!important}.portfolio-hero-description{margin-top:2rem!important}.portfolio-hero-index{min-height:230px}.portfolio-index-count{font-size:6rem!important}.portfolio-section-heading{display:block}.portfolio-section-description{text-align:left;max-width:430px;margin-top:1.2rem!important}.portfolio-grid{grid-template-columns:1fr}.project-card{min-height:330px}}@media (prefers-reduced-motion:reduce){.portfolio-hero-link,.portfolio-footer-link,.project-card,.project-card-art,.project-card-arrow{transition:none}}.content .tag,.content .number{padding:inherit;font-size:inherit;line-height:inherit;text-align:inherit;vertical-align:inherit;border-radius:inherit;font-weight:inherit;white-space:inherit;background:inherit;margin:inherit;display:inline}nav.corona-tab{z-index:-1;margin-bottom:10px;padding-bottom:7px}.corona-tab a{padding:10px;color:#207fdf!important;padding-bottom:10px!important}.corona-tab a.active{background-color:#d7d7d7;border-top:1px solid #d7d7d7;border-left:1px solid #d7d7d7;border-right:1px solid #d7d7d7;border-top-left-radius:6px;border-top-right-radius:6px;color:#2b2929!important}.MuiTableContainer-root table{width:100%;display:table}@media only screen and (width<=768px){.MuiTableContainer-root{overflow-x:auto!important}.MuiTableContainer-root table th,.MuiTableContainer-root table td{min-width:170px}}.app-landing-page{--app-grid-line:color-mix(in srgb, var(--app-text) 9%, transparent);min-height:100vh;color:var(--app-text);background:var(--app-background);overflow:hidden}.app-landing-page .MuiAppBar-root{border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-color:color-mix(in srgb, var(--app-background) 94%, transparent)!important}.app-landing-page .MuiToolbar-root{min-height:68px}.app-landing-hero{isolation:isolate;background:radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--app-accent) 21%, transparent), transparent 30rem), radial-gradient(circle at 14% 75%, color-mix(in srgb, var(--app-secondary-accent) 12%, transparent), transparent 28rem), var(--app-background);padding:clamp(5.5rem,11vw,9rem) 0 clamp(5rem,10vw,8rem);position:relative}.app-landing-hero:before{z-index:-1;background-image:linear-gradient(90deg, var(--app-grid-line) 1px, transparent 1px), linear-gradient(var(--app-grid-line) 1px, transparent 1px);content:"";opacity:.4;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.app-landing-eyebrow,.app-landing-kicker,.app-landing-availability,.app-landing-icon-caption,.app-landing-step-index{letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace!important}.app-landing-eyebrow,.app-landing-kicker{color:var(--app-accent);align-items:center;gap:.7rem;margin:0;font-size:.74rem;font-weight:700;display:flex}.app-landing-eyebrow-mark{background:var(--app-accent);width:30px;height:1px}.app-landing-title{max-width:760px;color:var(--app-text);letter-spacing:-.065em!important;margin:0!important;font-size:clamp(3rem,7.5vw,7rem)!important;font-weight:800!important;line-height:.93!important}.app-landing-description{max-width:600px;color:var(--app-muted);margin:0!important;font-size:clamp(1.05rem,1.7vw,1.35rem)!important;line-height:1.65!important}.app-landing-primary-button{min-height:52px;box-shadow:0 12px 30px color-mix(in srgb, var(--app-accent) 22%, transparent);color:var(--app-background)!important;background:var(--app-accent)!important;text-transform:none!important;border-radius:999px!important;padding:.75rem 1.4rem!important;font-weight:800!important;transition:transform .18s,box-shadow .18s!important}.app-landing-primary-button:hover,.app-landing-primary-button:focus-visible{box-shadow:0 16px 36px color-mix(in srgb, var(--app-accent) 35%, transparent);transform:translateY(-2px)}.app-landing-primary-button:focus-visible,.app-landing-text-link:focus-visible,.app-landing-footer-link:focus-visible{outline:2px solid var(--app-secondary-accent);outline-offset:4px}.app-landing-text-link,.app-landing-footer-link{font-size:.92rem;transition:color .18s;color:var(--app-text)!important;text-decoration:none!important}.app-landing-text-link:hover,.app-landing-footer-link:hover{color:var(--app-accent)!important}.app-landing-availability{color:color-mix(in srgb, var(--app-muted) 74%, transparent);margin:0!important;font-size:.65rem!important}.app-landing-icon-stage{aspect-ratio:1;border:1px solid var(--app-border);background:color-mix(in srgb, var(--app-surface) 76%, transparent);width:min(100%,390px);box-shadow:0 30px 90px color-mix(in srgb, var(--app-accent) 15%, transparent);border-radius:32px;place-items:center;margin:0 auto;display:grid;position:relative;transform:rotate(2.5deg)}.app-landing-icon-stage:before,.app-landing-icon-stage:after{border:1px solid color-mix(in srgb, var(--app-accent) 38%, transparent);content:"";border-radius:50%;position:absolute}.app-landing-icon-stage:before{width:70%;height:70%}.app-landing-icon-stage:after{border-color:color-mix(in srgb, var(--app-secondary-accent) 22%, transparent);width:84%;height:84%}.app-landing-icon-orbit{background:var(--app-secondary-accent);width:8px;height:8px;box-shadow:0 0 26px 5px color-mix(in srgb, var(--app-secondary-accent) 55%, transparent);border-radius:50%;position:absolute;transform:translate(148px,-145px)}.app-landing-icon{z-index:1;border-radius:25%;width:min(52%,190px);position:relative;box-shadow:0 26px 50px #00000073}.app-landing-icon-caption{color:var(--app-muted);justify-content:space-between;font-size:.62rem;display:flex;position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem}.app-landing-icon-caption span:first-child{color:var(--app-accent)}.app-landing-section{border-top:1px solid var(--app-border);padding:clamp(5rem,10vw,8rem) 0}.app-landing-section-heading{gap:.75rem;margin-bottom:2.5rem;display:grid}.app-landing-section-heading h2{max-width:580px;color:var(--app-text);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.app-landing-feature-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:18px;height:100%;min-height:200px;padding:clamp(1.5rem,3vw,2.25rem);transition:border-color .18s,transform .18s;position:relative;overflow:hidden}.app-landing-feature-card:after{background:color-mix(in srgb, var(--app-accent) 12%, transparent);content:"";border-radius:50%;width:160px;height:160px;position:absolute;bottom:-70px;right:-50px}.app-landing-feature-card:hover{border-color:color-mix(in srgb, var(--app-accent) 65%, var(--app-border));transform:translateY(-3px)}.app-landing-feature-number{color:var(--app-accent);margin-bottom:3rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.app-landing-feature-card h3,.app-landing-step h3{z-index:1;color:var(--app-text);letter-spacing:-.02em;margin:0 0 .8rem;font-size:1.25rem;position:relative}.app-landing-feature-card p,.app-landing-step p{z-index:1;color:var(--app-muted);margin:0;font-size:.98rem;line-height:1.65;position:relative}.app-landing-steps-section{background:color-mix(in srgb, var(--app-surface) 38%, var(--app-background))}.app-landing-step{border-top:1px solid var(--app-border);min-height:210px;padding:1.5rem 0}.app-landing-step-index{color:var(--app-secondary-accent);font-size:.7rem;margin:0 0 2.5rem!important}.app-landing-footer{border-top:1px solid var(--app-border);padding:2rem 0}.app-landing-footer-copy{color:var(--app-muted);margin:0!important;font-size:.82rem!important}.app-landing-reveal{animation:.7s cubic-bezier(.2,.75,.25,1) both app-landing-rise}.app-landing-reveal-delay{animation-delay:.12s}@keyframes app-landing-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.app-landing-icon-stage{width:min(100%,320px)}.app-landing-icon-orbit{transform:translate(120px,-118px)}}@media (width<=600px){.app-landing-hero{padding-top:4.5rem}.app-landing-title{font-size:clamp(3rem,15vw,5rem)!important}.app-landing-icon-stage{border-radius:24px;width:min(100%,300px)}.app-landing-icon-orbit{transform:translate(108px,-108px)}}@media (prefers-reduced-motion:reduce){.app-landing-reveal,.app-landing-reveal-delay{animation:none}.app-landing-primary-button,.app-landing-feature-card{transition:none}}
