@import "https://fonts.googleapis.com/css?family=IBM+Plex+Mono|Maiden+Orange";@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap";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}}.labs{--labs-bg:#f7f5f0;--labs-surface:#efece5;--labs-ink:#1c1b19;--labs-muted:#66615a;--labs-rule:#dcd7cd;--labs-accent:#1d5a45;--labs-accent-ink:#f7f5f0;min-height:100vh;color:var(--labs-ink);background:var(--labs-bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.6}.labs h1,.labs h2,.labs h3{letter-spacing:-.01em;color:var(--labs-ink);font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-weight:600}.labs a{color:inherit}.labs p{margin:0 0 1em}.labs :focus-visible{outline:2px solid var(--labs-accent);outline-offset:3px;border-radius:2px}@media (prefers-color-scheme:dark){.labs{--labs-bg:#151513;--labs-surface:#1d1d1a;--labs-ink:#ebe8e1;--labs-muted:#a39e94;--labs-rule:#33312c;--labs-accent:#8cc4a8;--labs-accent-ink:#151513}}.labs-wrap{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.labs-skip{position:absolute;left:-999px}.labs-skip:focus{z-index:10;background:var(--labs-ink);color:var(--labs-bg);padding:8px 12px;top:12px;left:16px}.labs-header{border-bottom:1px solid var(--labs-rule)}.labs-header-row{align-items:center;gap:24px;min-height:68px;display:flex}.labs-brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.labs-nav{align-items:center;gap:28px;margin-left:auto;display:flex}.labs-nav>a{font-size:15px;text-decoration:none}.labs-nav>a:hover{text-underline-offset:4px;text-decoration:underline}.labs-lang{border-left:1px solid var(--labs-rule);gap:2px;padding-left:20px;display:inline-flex}.labs-lang button{color:var(--labs-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:14px}.labs-lang button[aria-pressed=true]{color:var(--labs-ink);text-underline-offset:4px;text-decoration:underline}.labs-menu-button{border:1px solid var(--labs-rule);color:var(--labs-ink);font:inherit;background:0 0;border-radius:6px;margin-left:auto;padding:6px 12px;font-size:15px;display:none}@media (width<=760px){.labs-menu-button{display:block}.labs-nav{z-index:5;border-bottom:1px solid var(--labs-rule);background:var(--labs-bg);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px;display:none;position:absolute;top:68px;left:0;right:0}.labs-nav.is-open{display:flex}.labs-nav>a{border-bottom:1px solid var(--labs-rule);width:100%;padding:12px 0;font-size:17px}.labs-lang{border-left:0;padding:12px 0 0}}.labs-hero{padding:clamp(48px,9vw,112px) 0 clamp(48px,7vw,88px)}.labs-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.labs-eyebrow{color:var(--labs-muted);font-size:15px;margin:0 0 18px!important}.labs-title{margin:0 0 24px;font-size:clamp(38px,5.6vw,64px);line-height:1.06}.labs-lede{max-width:34em;color:var(--labs-muted);font-size:clamp(18px,2vw,20px)}.labs-actions{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px;display:flex}.labs-button{background:var(--labs-ink);border-radius:6px;padding:13px 22px;font-size:16px;font-weight:600;text-decoration:none;display:inline-block;color:var(--labs-bg)!important}.labs-button:hover{background:var(--labs-accent);color:var(--labs-accent-ink)!important}.labs-link{text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;color:var(--labs-accent)!important}.labs-link:hover{text-decoration-thickness:2px}.labs-section{border-top:1px solid var(--labs-rule);padding:clamp(56px,8vw,96px) 0;scroll-margin-top:16px}.labs-section-head{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);margin-bottom:clamp(32px,5vw,56px);display:grid}.labs-section-head h2{margin:0;font-size:clamp(30px,3.6vw,42px);line-height:1.12}.labs-section-head p{color:var(--labs-muted);margin:0;font-size:18px}.labs-phones{margin:0;position:relative}.labs-phones .labs-phone-pair{justify-content:center;display:flex;position:relative}.labs-phones img{border-radius:26px;width:46%;max-width:250px;height:auto;box-shadow:0 1px 2px #0000001f,0 18px 40px -20px #00000059}.labs-phones img+img{margin:48px 0 0 -18px}.labs-phones figcaption{color:var(--labs-muted);text-align:center;margin-top:18px;font-size:14px}.labs-services{border-top:1px solid var(--labs-rule);margin:0;padding:0;list-style:none}.labs-services li{border-bottom:1px solid var(--labs-rule);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(16px,5vw,64px);padding:28px 0;display:grid}.labs-services h3{margin:0;font-size:24px;line-height:1.25}.labs-services p{margin:0}.labs-services .labs-tech{color:var(--labs-muted);margin-top:10px;font-size:15px}.labs-work{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,6vw,80px);padding:40px 0;display:grid}.labs-work+.labs-work{border-top:1px solid var(--labs-rule)}.labs-work h3{align-items:center;gap:14px;margin:0 0 12px;font-size:32px;display:flex}.labs-work h3 img{border-radius:11px;width:44px;height:44px}.labs-work-media{justify-content:center;gap:16px;display:flex}.labs-work-media img{border:1px solid var(--labs-rule);border-radius:18px;width:48%;max-width:240px;height:auto}.labs-facts{grid-template-columns:max-content minmax(0,1fr);gap:8px 24px;margin:20px 0 22px;font-size:15px;display:grid}.labs-facts dt{color:var(--labs-muted)}.labs-facts dd{margin:0}.labs-small-work{border-top:1px solid var(--labs-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,5vw,64px);margin-top:16px;display:grid}.labs-small-work>div{border-bottom:1px solid var(--labs-rule);gap:16px;padding:24px 0;display:flex}.labs-small-work img{border-radius:12px;flex:none;width:52px;height:52px}.labs-small-work h3{margin:0 0 4px;font-size:22px}.labs-small-work p{color:var(--labs-muted);margin:0 0 6px}.labs-prose{max-width:38em;font-size:19px}.labs-prose p{margin-bottom:1.1em}.labs-contact-band{background:var(--labs-surface);padding:clamp(56px,8vw,96px) 0}.labs-contact-band h2{margin:0 0 12px;font-size:clamp(30px,3.6vw,42px)}.labs-contact-band p{max-width:34em;color:var(--labs-muted);font-size:18px}.labs-footer{border-top:1px solid var(--labs-rule);padding:56px 0 64px;font-size:15px}.labs-footer h2{letter-spacing:0;color:var(--labs-muted);margin:0 0 12px;font-family:inherit;font-size:14px;font-weight:600}.labs-footer ul{margin:0;padding:0;list-style:none}.labs-footer li{margin-bottom:6px}.labs-footer a{text-decoration:none}.labs-footer a:hover{text-underline-offset:3px;text-decoration:underline}.labs-footer-grid{grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px;display:grid}.labs-footer-note{color:var(--labs-muted);margin-top:14px!important}.labs-footer-note a{color:inherit}.labs-profile{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(40px,7vw,96px);padding:clamp(48px,8vw,96px) 0;display:grid}.labs-profile-aside{align-self:start;position:sticky;top:32px}.labs-profile-aside h1{margin:0 0 6px;font-size:clamp(40px,5vw,56px);line-height:1.05}.labs-profile-aside .labs-role{color:var(--labs-muted);margin-bottom:20px;font-size:18px}.labs-profile-links{border-top:1px solid var(--labs-rule);margin:28px 0 0;padding:0;list-style:none}.labs-profile-links li{border-bottom:1px solid var(--labs-rule);justify-content:space-between;gap:16px;padding:10px 0;font-size:15px;display:flex}.labs-profile-links span{color:var(--labs-muted)}.labs-cv>section+section{margin-top:56px}.labs-cv h2{border-bottom:1px solid var(--labs-ink);margin:0 0 20px;padding-bottom:10px;font-size:26px}.labs-entry{grid-template-columns:7.5rem minmax(0,1fr);gap:20px;padding:0 0 26px;display:grid}.labs-entry .labs-period{color:var(--labs-muted);font-variant-numeric:tabular-nums;padding-top:3px;font-size:15px}.labs-entry h3{margin:0;font-size:21px;line-height:1.3}.labs-entry .labs-place{color:var(--labs-muted);margin:2px 0 8px}.labs-entry ul{margin:0;padding-left:1.1em}.labs-entry li+li{margin-top:4px}.labs-skills{grid-template-columns:9.5rem minmax(0,1fr);gap:10px 20px;margin:0;display:grid}.labs-skills dt{color:var(--labs-muted)}.labs-skills dd{margin:0}.labs-form{gap:20px;max-width:36em;display:grid}.labs-form label{margin-bottom:6px;font-size:15px;font-weight:600;display:block}.labs-form input,.labs-form textarea{box-sizing:border-box;border:1px solid var(--labs-rule);background:var(--labs-bg);width:100%;color:var(--labs-ink);font:inherit;border-radius:6px;padding:12px 14px}.labs-form input:focus,.labs-form textarea:focus{border-color:var(--labs-ink);outline:none}.labs-form .labs-hint{color:var(--labs-muted);margin:6px 0 0;font-size:14px}.labs-form button{cursor:pointer;font:inherit;border:0;justify-self:start}.labs-notice{border-left:3px solid var(--labs-accent);background:var(--labs-surface);max-width:36em;padding:16px 18px}.labs-notice.is-error{border-left-color:#b4412f}.labs-projects{border-top:1px solid var(--labs-rule);margin:0;padding:0;list-style:none}.labs-projects li{border-bottom:1px solid var(--labs-rule);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 0;display:grid}.labs-projects img{object-fit:cover;border-radius:12px;width:64px;height:64px}.labs-projects h3{margin:0 0 2px;font-size:22px}.labs-projects p{color:var(--labs-muted);margin:0}.labs-projects .labs-kind{color:var(--labs-muted);text-align:right;white-space:nowrap;font-size:14px}@media (width<=860px){.labs-hero-grid,.labs-section-head,.labs-work,.labs-profile{grid-template-columns:minmax(0,1fr)}.labs-work-media{order:-1}.labs-profile-aside{position:static}.labs-footer-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.labs{font-size:16px}.labs-wrap{padding:0 16px}.labs-services li,.labs-small-work,.labs-entry,.labs-skills{grid-template-columns:minmax(0,1fr)}.labs-services li,.labs-entry{gap:6px}.labs-projects li{grid-template-columns:52px minmax(0,1fr)}.labs-projects li img{width:52px;height:52px}.labs-projects .labs-kind{display:none}.labs-footer-grid{grid-template-columns:1fr}}.labs-required{color:var(--labs-muted)}.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}}.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-invite-page{min-height:100vh;color:var(--invite-text);background:radial-gradient(circle at 50% 15%, color-mix(in srgb, var(--invite-accent) 26%, transparent), transparent 28rem), var(--invite-background)}.app-invite-container{padding-top:clamp(6rem,12vw,9rem);padding-bottom:5rem}.app-invite-icon{border-radius:24%;width:clamp(92px,20vw,132px);box-shadow:0 18px 48px #00000073}.app-invite-eyebrow,.app-invite-code-label{color:var(--invite-accent);text-transform:uppercase;letter-spacing:.1em!important;margin:0!important;font-family:IBM Plex Mono,monospace!important;font-size:.72rem!important;font-weight:700!important}.app-invite-title{color:var(--invite-text);letter-spacing:-.05em!important;margin:0!important;font-size:clamp(2.35rem,7vw,4rem)!important;font-weight:900!important;line-height:1!important}.app-invite-description{max-width:520px;color:var(--invite-muted);margin:0!important;font-size:1.05rem!important;line-height:1.65!important}.app-invite-code-card{border:1px solid color-mix(in srgb, var(--invite-accent) 42%, transparent);background:var(--invite-surface);border-radius:20px;gap:1rem;width:min(100%,420px);padding:1.5rem;display:grid}.app-invite-code{color:var(--invite-text);letter-spacing:clamp(.04em,.5vw,.1em);white-space:nowrap;-webkit-user-select:all;user-select:all;font-family:IBM Plex Mono,monospace;font-size:clamp(1.3rem,6vw,2rem);font-weight:800}.app-invite-copy-button{border-color:var(--invite-accent)!important;color:var(--invite-text)!important;text-transform:none!important}.app-invite-copy-status{color:var(--invite-muted);margin:0!important;font-size:.82rem!important}.app-invite-store-button{flex:1;min-height:50px;border-color:var(--invite-accent)!important;color:var(--invite-text)!important;text-transform:none!important;font-weight:700!important}.app-invite-store-button-primary{color:var(--invite-background)!important;background:var(--invite-accent)!important}.skarp-live-room{background:#0e0e14;width:100%;min-height:100dvh;overflow:hidden}.skarp-live-room__frame{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0e0e14;border:0;width:100%;height:100dvh;display:block}.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}}
