@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.pCyUDW_className{font-family:Manrope,Manrope Fallback;font-style:normal}.pCyUDW_variable{--font-body:"Manrope", "Manrope Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.ms-auto{margin-inline-start:auto}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.contain-style{--tw-contain-style:style;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{background:var(--bg);color:var(--paper);font-family:var(--font-body),sans-serif;margin:0;font-size:14px;line-height:1.7}body:after{content:"";z-index:50;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button,a,summary{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-body),sans-serif;letter-spacing:-.025em;font-weight:700;line-height:.91}.mint{color:var(--mint)}.muted{color:#858a84}.site-header{border-bottom:1px solid var(--line);z-index:20;background:var(--bg);justify-content:space-between;align-items:center;height:90px;padding:0 5%;display:flex;position:relative}.monogram{font-family:var(--font-body),sans-serif;font-size:38px;font-weight:700;line-height:1}.monogram span{font-family:var(--font-body),sans-serif;vertical-align:top;color:var(--mint);margin-left:3px;font-size:10px}.nav{gap:29px;font-size:12px;display:flex}.nav a,.hero-social a,.footer a{transition:color .2s}.nav a:hover,.hero-social a:hover,.footer a:hover{color:var(--mint)}.cv-link{border-bottom:1px solid #62676d;padding-bottom:6px;font-size:12px}.cv-link span{color:var(--mint);margin-left:16px}.menu-toggle{display:none}.hero{background:radial-gradient(at 78% 40%,#19253c60,#0000 55%);flex-direction:column;min-height:calc(100svh - 90px);padding:30px 5% 0;display:flex;position:relative;overflow:hidden}.hero-top{letter-spacing:.1em;color:#b6b9bc;z-index:3;justify-content:space-between;font-size:10px;display:flex;position:relative}.mint-dot{background:var(--mint);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block}.hero-title{z-index:3;width:max-content;max-width:100%;margin:47px 0 28px;position:relative}.hero h1{letter-spacing:-.025em;font-size:clamp(92px,14.3vw,230px);line-height:.81}.title-period{color:var(--paper)}.portrait-art{z-index:2;background:#223352;border:1px solid #25385b;width:39%;height:70%;max-height:700px;position:absolute;top:15%;right:5%;overflow:hidden;transform:rotate(-3deg)}.portrait-art img{object-fit:cover;object-position:center;filter:grayscale();opacity:.77;mix-blend-mode:luminosity}.portrait-art:after{content:"";pointer-events:none;background:linear-gradient(#0000 65%,#0a0f18 100%),linear-gradient(90deg,#0a0f1860,#0000 50%);position:absolute;inset:0}.portrait-caption{letter-spacing:.15em;z-index:3;color:var(--mint);justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.hero-bottom{z-index:4;justify-content:space-between;align-items:end;margin-top:auto;padding-top:28px;padding-bottom:46px;display:flex;position:relative}.hero-intro{max-width:390px}.hero-intro p{max-width:370px;font-size:13px}.actions{flex-wrap:wrap;gap:12px;margin-top:25px;display:flex}.button{color:var(--paper);background:var(--bg);border:1px solid #4e5157;justify-content:space-between;align-items:center;gap:26px;padding:14px 23px;font-size:12px;font-weight:600;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button.primary{background:var(--mint);border-color:var(--mint);color:var(--bg)}.button:hover{background:var(--paper);color:var(--bg);transform:translateY(-2px)}.hero-social{gap:25px;font-size:11px;display:flex}.hero-foot{border-top:1px solid var(--line);letter-spacing:.1em;color:#90959a;z-index:3;justify-content:space-between;padding:17px 0;font-size:9px;display:flex;position:relative}.section{max-width:1800px;margin:auto;padding:110px 5%}.eyebrow{letter-spacing:.15em;color:#a8aeb4;margin-bottom:26px;font-size:10px;font-weight:600}.section-heading{justify-content:space-between;align-items:end;margin-bottom:65px;display:flex}.section-heading>p{padding-bottom:4px;font-size:12px}.project{margin-bottom:65px}.project:last-child{margin-bottom:0}.project-index{color:var(--mint);margin-bottom:13px;font-size:11px}.project-index span{color:#999fa6;margin-left:10px}.project-image-link{display:block;position:relative;overflow:hidden}.project-preview{background:#1b2942;flex-direction:column;justify-content:space-between;height:440px;padding:35px;transition:transform .7s;display:flex;position:relative;overflow:hidden}.project-image-link:hover .project-preview{transform:scale(1.025)}.project-preview img{object-fit:contain;padding:28px}.preview-gallery-cafe{background:#1c2a45}.preview-dog-food-finder{background:#1a2841}.preview-label{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.preview-name{font-family:var(--font-body),sans-serif;letter-spacing:-.025em;font-size:clamp(75px,13vw,180px);font-weight:600;line-height:1}.asset-note{color:#ecf0e5;border-top:1px solid #ffffff30;justify-content:space-between;align-items:center;padding-top:15px;font-size:11px;display:flex}.project-arrow{background:var(--paper);color:var(--bg);border-radius:50%;place-items:center;width:47px;height:47px;font-size:25px;transition:transform .3s;display:grid;position:absolute;top:25px;right:25px}.project-image-link:hover .project-arrow{transform:rotate(45deg)}.project-info{justify-content:space-between;gap:30px;padding-top:23px;display:flex}.project-info h3{letter-spacing:-.04em;margin-bottom:8px;font-size:25px;font-weight:500}.project-info p{max-width:510px;font-size:12px}.project-meta{text-align:right;flex-shrink:0;max-width:45%}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{color:#b7bec6;border:1px solid #434850;border-radius:30px;padding:4px 12px;font-size:9px}.text-link{border-bottom:1px solid #545a66;margin-top:20px;padding-bottom:5px;font-size:12px;display:inline-block}.text-link:hover{color:var(--mint)}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1420}.about-grid{grid-template-columns:1.2fr 1fr;gap:10%;display:grid}.about-grid p{margin-bottom:22px;font-size:13px}.about-grid .large-copy{color:var(--paper);font-size:22px;line-height:1.5}.skills{margin-top:70px}.skill-row{border-top:1px solid var(--line);grid-template-columns:40px 1fr 1.2fr 20px;align-items:center;gap:20px;padding:23px 0;display:grid}.skill-number{color:var(--muted);font-size:10px}.skill-row h3{font-size:18px;font-weight:500}.experience-row{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr 1.4fr;gap:35px;padding:35px 0;display:grid}.experience-date{color:#9ca3aa;padding-top:4px;font-size:11px}.experience-row h3{letter-spacing:-.03em;font-size:21px;font-weight:500}.role{margin-top:5px;font-size:11px;display:block}.education{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr 1.4fr;gap:35px;margin-top:35px;padding-top:35px;display:grid}.education h3{margin-bottom:7px;font-size:14px;font-weight:500}.contact{background:#121b2c;border-top:1px solid #26395d;padding-top:80px;padding-bottom:70px}.contact-bottom{justify-content:space-between;align-items:center;margin-top:40px;display:flex}.small-note{color:#a8b0b9;max-width:680px;margin-top:24px;font-size:11px;line-height:1.7}.contact-details{border-top:1px solid #3e434d;max-width:680px;margin-top:30px}.contact-details summary{cursor:pointer;justify-content:space-between;padding:20px 0;list-style:none;display:flex}.contact-details summary::-webkit-details-marker{display:none}.contact-details form{padding-bottom:15px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}label{margin-top:18px;font-size:12px;display:block}input,textarea{width:100%;color:var(--paper);background:#0d1420;border:1px solid #484e5a;border-radius:0;margin-top:7px;padding:12px;display:block}form button{margin-top:18px}.footer{color:#a3a9b0;justify-content:space-between;gap:20px;padding:25px 5%;font-size:10px;display:flex}.footer>div{gap:20px;display:flex}.skip-link{z-index:100;background:var(--mint);color:#0a0f18;padding:12px;position:fixed;top:5px;left:5px;transform:translateY(-150%)}.skip-link:focus{transform:none}.case-study{padding-top:65px}.case-study>.text-link{margin:0 0 55px}.case-category{margin-bottom:18px}.case-study h1{overflow-wrap:anywhere;font-size:clamp(75px,11vw,160px)}.case-intro{max-width:650px;margin:30px 0;font-size:18px}.case-study>.tags{margin-bottom:45px}.case-content{grid-template-columns:1fr 1fr;gap:60px;margin-top:75px;display:grid}.case-content section{border-top:1px solid var(--line);padding-top:25px}.case-content p{max-width:570px;font-size:15px}.next-project{border-top:1px solid var(--line);flex-direction:column;margin-top:80px;padding-top:30px;display:flex}.next-project>span:last-child{font-family:var(--font-body),sans-serif;font-size:clamp(45px,7vw,90px);line-height:1.1}@media (min-width:1600px){.hero{min-height:900px;max-height:1100px}.hero-title{margin-top:65px}}@media (max-width:1000px){.nav{gap:16px}.hero h1{font-size:16vw}.portrait-art{width:43%;height:56%;top:20%;right:4%}.hero-intro{max-width:340px}.hero-social{gap:13px}.project-meta{max-width:38%}.section{padding-top:80px;padding-bottom:80px}.about-grid{gap:5%}.experience-row{grid-template-columns:.8fr 1.2fr;gap:20px}.experience-row p{grid-column:2}.education{grid-template-columns:.8fr 1.2fr}.education>div:last-child{grid-column:2}.hero{min-height:800px}}@media (max-width:760px){html{scroll-padding-top:20px}.site-header{flex-wrap:wrap;height:74px;padding:0 6%}.monogram{font-size:33px}.menu-toggle{color:var(--paper);background:0 0;border:0;align-items:center;gap:15px;padding:12px;font-size:12px;display:flex}.cv-link{order:1;margin-left:auto;margin-right:20px;font-size:10px}.menu-toggle{order:2}.nav{border-bottom:1px solid var(--line);background:#0e1521;flex-direction:column;gap:0;padding:25px 6%;display:none;position:absolute;top:74px;left:0;right:0}.nav.open{display:flex}.nav a{padding:12px 0;font-size:16px}.hero{min-height:auto;padding:24px 6% 0}.hero-top{letter-spacing:.04em;font-size:8px}.hero-top>span:last-child{text-align:right;max-width:105px}.hero-title{margin:39px 0 0}.hero h1{font-size:21vw;line-height:.85}.portrait-art{width:87%;height:370px;max-height:none;margin:28px 0 0 auto;position:relative;top:auto;right:auto;transform:rotate(-2deg)}.portrait-art img{object-position:50% 34%}.portrait-caption{font-size:7px}.hero-bottom{padding-top:29px;padding-bottom:30px;display:block}.hero-intro{max-width:100%}.hero-intro p{max-width:450px;font-size:13px}.hero-social{gap:25px;margin-top:25px}.button{padding:13px 20px;font-size:11px}.hero-foot{letter-spacing:.03em;gap:15px;font-size:7px}.section{padding:65px 6%}.section-heading{margin-bottom:35px;display:block}.section-heading>p{margin-top:23px;font-size:12px}.eyebrow{margin-bottom:20px;font-size:9px}.project-preview{height:300px;padding:23px}.preview-name{font-size:20vw}.project-preview img{padding:12px}.project-arrow{width:36px;height:36px;font-size:21px;top:16px;right:16px}.project-info{padding-top:18px;display:block}.project-info h3{font-size:23px}.project-info p{font-size:12px}.project-meta{text-align:left;max-width:100%;margin-top:15px}.project-meta .tags{justify-content:flex-start}.project{margin-bottom:45px}.about-grid{display:block}.about-grid>div{margin-top:30px}.about-grid .large-copy{font-size:20px}.skills{margin-top:45px}.skill-row{grid-template-columns:23px 1fr 15px;gap:12px;padding:20px 0}.skill-row h3{font-size:17px}.skill-row p{grid-area:2/2;font-size:12px}.skill-row>span:last-child{grid-area:1/3}.experience-row{padding:25px 0;display:block}.experience-date{margin-bottom:14px;display:block}.experience-row p{margin-top:15px}.experience-row h3{font-size:20px}.education{display:block}.education>div{margin-bottom:25px}.contact h2{font-size:14vw}.contact-bottom{margin-top:25px;display:block}.contact-bottom .button{margin-top:25px}.form-row{grid-template-columns:1fr;gap:0}.footer{flex-wrap:wrap;gap:15px;padding:25px 6%}.footer>div{gap:23px;width:100%}.case-study h1{font-size:20vw}.case-study>.project-preview{height:320px}.case-intro{font-size:16px}.case-content{grid-template-columns:1fr;gap:35px;margin-top:45px}.case-content p{font-size:13px}.case-study>.text-link{margin-bottom:35px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.portrait-art{transform:none!important}}:root{--bg:#0b101a;--paper:#f0f3f6;--mint:#5dabff;--muted:#a2a7ad;--line:#1e2d49}body{font-size:15px;line-height:1.75}p{color:#b3b8bd}body:after{display:none}h1,h2{letter-spacing:-.045em;line-height:1.08}h2{font-size:clamp(36px,4.4vw,60px)}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b101aed;height:86px;padding:0 max(6%,50vw - 600px);transition:box-shadow .2s;position:sticky;top:0}.site-header.scrolled{box-shadow:0 8px 30px #0004}.monogram{font-size:34px}.monogram span{font-size:24px}.nav{font-size:13px}.nav a{align-items:center;min-height:44px;display:flex}.cv-link{border:0;align-items:center;gap:12px;min-height:44px;display:flex}.hero{background:radial-gradient(at 85% 40%,#5dabff0c,#0000 60%);grid-template-columns:1.15fr 1fr;align-items:center;gap:65px;max-width:1440px;min-height:720px;margin:auto;padding:80px max(6%,120px);display:grid}.hero-copy{z-index:3;position:relative}.hero .eyebrow{letter-spacing:.13em;color:var(--paper);margin-bottom:26px;font-size:13px}.hero h1{font-size:clamp(52px,5.7vw,82px);line-height:1.1}.hero h1>span{color:var(--mint)}.hero-copy>p{max-width:470px;margin-top:26px;font-size:16px}.hero-location{color:#b3b8bd;margin-top:21px;font-size:13px}.hero-social{gap:26px;margin-top:30px;font-size:13px}.portrait-art{z-index:2;background:#151f32;border:1px solid #5dabff35;border-radius:150px 150px 32px 32px;width:100%;height:530px;max-height:none;position:relative;top:auto;right:auto;transform:none;box-shadow:18px 18px #5dabff09}.portrait-art img{filter:none;opacity:1;mix-blend-mode:normal;object-position:50% 38%}.portrait-art:after{background:linear-gradient(#0000 68%,#0b101ae0)}.portrait-caption{color:#f0f3f6;letter-spacing:.07em;font-size:9px;bottom:25px}.button{border-radius:50px;gap:20px;min-height:50px;padding:14px 24px;font-size:13px}.button.primary{color:#fff}.button:hover{color:#fff;background:#78b9ff}.section{max-width:1320px;padding:90px 60px}.eyebrow{color:var(--mint);margin-bottom:17px;font-size:11px}.section-heading{gap:30px;margin-bottom:40px}.section-heading>p{font-size:14px}.work{border-top:1px solid var(--line)}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px;display:grid}.project{background:#111929;border:1px solid #1e2d49;border-radius:20px;margin:0;padding:18px;overflow:hidden}.project-index{margin:0 0 12px;font-size:10px}.project-preview{border-radius:12px;height:280px;padding:26px}.preview-name{font-size:clamp(42px,5vw,70px);line-height:1.1}.preview-geethika{color:#cee3f9;background:linear-gradient(135deg,#243657,#172237)}.preview-day-quota{color:#cce2f2;background:linear-gradient(135deg,#233454,#151f32)}.preview-budget-mate{color:#d3efdb;background:linear-gradient(135deg,#233454,#151f33)}.asset-note{font-size:10px}.project-info{padding:20px 6px 6px;display:block}.project-info h3{font-size:24px;font-weight:600}.project-info p{font-size:13px}.project-meta{text-align:left;max-width:100%;margin-top:18px}.project-meta .tags{justify-content:flex-start}.tags span{border-color:#43474e;font-size:10px}.text-link{min-height:38px;font-size:13px}.about{background:#0f1726;border-radius:24px}.about-grid{grid-template-columns:1fr 1fr;gap:70px}.about-grid p{font-size:15px}.skills{grid-template-columns:1fr 1fr;gap:20px;margin-top:45px;display:grid}.skill-row{border:1px solid var(--line);background:#131d2f;border-radius:15px;padding:24px;display:block}.skill-number{float:right;color:var(--mint)}.skill-row h3{margin-bottom:12px;font-size:19px}.skill-row p{font-size:13px}.skill-row>span:last-child{display:none}.experience-row p{font-size:13px}.experience-row h3{font-size:20px}.experience-date,.role{font-size:12px}.education h3{font-size:16px}.education p{font-size:12px}.contact{background:#101826;border-color:#233556;max-width:none;padding-left:max(6%,50vw - 600px);padding-right:max(6%,50vw - 600px)}.contact h2{font-size:clamp(40px,5.6vw,78px)}.contact-bottom p{font-size:14px}.footer{max-width:1320px;margin:auto;padding:30px 60px;font-size:12px}.case-study h1{font-size:clamp(50px,8vw,100px)}.case-study>.project-preview{height:440px}.case-study .preview-name{font-size:clamp(50px,10vw,140px)}.feature-list{border-top:1px solid var(--line);margin-top:50px;padding-top:30px}.feature-list h2{font-size:26px}.feature-list ul{color:#b3b8bd;padding-left:22px}.next-project>span:last-child{font-size:clamp(32px,5vw,66px)}@media (max-width:1000px){.hero{gap:30px;min-height:650px;padding:60px 6%}.portrait-art{width:100%;height:440px;top:auto;right:auto}.hero h1{font-size:58px}.section{padding:70px 6%}.about-grid{gap:35px}.project-preview{height:240px}.project-meta{max-width:100%}}@media (max-width:760px){html{scroll-padding-top:90px}.site-header{height:74px;padding:0 6%}.cv-link{margin-right:10px;font-size:10px}.nav{background:#0f1726;top:74px}.nav a{min-height:48px}.hero{grid-template-columns:1fr;gap:42px;min-height:auto;padding:54px 6% 60px}.hero h1{font-size:clamp(46px,12vw,70px)}.hero .eyebrow{margin-bottom:20px;font-size:10px}.hero-copy>p{margin-top:22px;font-size:15px}.hero-social{margin-top:25px}.portrait-art{border-radius:120px 120px 24px 24px;width:100%;height:430px;margin:0;transform:none}.portrait-art img{object-position:50% 35%}.section{padding:60px 6%}.project-list{grid-template-columns:1fr;gap:25px}.project{margin:0;padding:15px}.project-preview{height:250px}.preview-name{font-size:54px}.project-info p{font-size:13px}.about{border-radius:0}.about-grid{display:block}.skills{grid-template-columns:1fr;gap:14px}.skill-row{padding:22px}.contact-bottom .button{overflow-wrap:anywhere;max-width:100%;font-size:12px}.footer{padding:26px 6%}.case-study>.project-preview{height:300px}.case-content{gap:32px}.case-study h1{font-size:14vw}.case-intro{font-size:16px}.education>div{margin-top:20px}.contact h2{font-size:11vw}}.app-preview-screens{justify-content:center;align-items:center;gap:14px;height:100%;display:flex;overflow:hidden}.project-preview .app-preview-screens img{object-fit:contain;border-radius:9px;width:auto;max-width:31%;height:100%;padding:0;box-shadow:0 8px 20px #0004}.store-link{margin-left:20px}.project-gallery{border-top:1px solid var(--line);margin-top:50px;padding-top:30px}.project-gallery h2{margin-bottom:12px;font-size:26px}.project-gallery>p{margin-bottom:25px;font-size:13px}.screenshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.screenshot-grid a{border:1px solid var(--line);border-radius:14px;transition:transform .2s;display:block;overflow:hidden}.screenshot-grid a:hover{transform:translateY(-3px)}.screenshot-grid img{width:100%;height:auto;display:block}@media (max-width:760px){.app-preview-screens{gap:9px}.screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.preview-geethika{background:radial-gradient(at 50% 40%,#375283,#18243a 75%)}.preview-geethika .app-preview-screens img{border:1px solid #8db8e64a;box-shadow:0 10px 25px #04091288}.preview-geethika .app-preview-screens img:nth-child(2){transform:translateY(-4px)}.career-roadmap{padding:0 0 10px;position:relative}.roadmap-intro{color:#a1a8af;justify-content:space-between;align-items:center;margin-bottom:38px;font-size:12px;display:flex}.roadmap-intro>span:last-child{align-items:center;gap:8px;display:flex}.roadmap-caption{letter-spacing:.08em;text-transform:uppercase}.roadmap-track{background:repeating-linear-gradient(#41454d 0 5px,#0000 5px 11px);width:2px;position:absolute;top:90px;bottom:70px;left:50%;transform:translate(-50%)}.roadmap-progress{transform-origin:top;background:linear-gradient(#5dabff,#82addb 75%,#5dabff);width:100%;height:100%;box-shadow:0 0 18px #5dabff33}.roadmap-milestones{margin:0;padding:0;list-style:none}.roadmap-milestone{grid-template-columns:1fr 80px 1fr;align-items:start;margin-bottom:32px;display:grid;position:relative}.roadmap-node{width:44px;height:44px;box-shadow:0 0 0 8px var(--bg);letter-spacing:.06em;color:#b7d0ea;z-index:2;background:#0f1725;border:1px solid #434e62;border-radius:50%;grid-area:1/2;justify-self:center;place-items:center;margin-top:32px;font-size:11px;transition:background .5s,border-color .5s,box-shadow .5s;display:grid}.reached .roadmap-node{border-color:var(--mint);box-shadow:0 0 0 8px var(--bg),0 0 28px #5dabff33;color:#fff;background:#1d2c47}.roadmap-card{background:linear-gradient(135deg,#131c2e,#101827);border:1px solid #20314f;border-radius:20px;grid-area:1/1;padding:26px 28px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.roadmap-milestone:nth-child(2n) .roadmap-card{grid-column:3;margin-top:10px}.roadmap-milestone:after{content:"";background:#434e62;width:18px;height:1px;position:absolute;top:54px;left:calc(50% - 40px)}.roadmap-milestone:nth-child(2n):after{left:calc(50% + 22px)}.roadmap-card:hover{border-color:#5dabff70;box-shadow:0 14px 40px #0003}.roadmap-card-top{color:#8db1d8;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.roadmap-date{letter-spacing:.03em;color:#c1d7ef;background:#5dabff08;border:1px solid #424e65;border-radius:30px;padding:5px 10px;font-size:11px}.roadmap-card h3{letter-spacing:-.025em;font-size:22px;font-weight:600;line-height:1.35}.roadmap-card .roadmap-role{color:#8cc4ff;margin-top:9px;font-size:13px}.roadmap-description{margin-top:18px;font-size:13px;line-height:1.85}.roadmap-card-foot{letter-spacing:.08em;text-transform:uppercase;color:#a1aab4;border-top:1px solid #20314f;justify-content:space-between;align-items:center;margin-top:22px;padding-top:15px;font-size:10px;display:flex}.roadmap-card-foot>span:last-child{color:#8cc4ff;font-size:18px}.roadmap-origin{z-index:2;text-align:center;color:#a7b2be;background:var(--bg);width:fit-content;margin:18px auto 35px;padding:0 18px;font-size:12px;position:relative}.roadmap-origin>span{color:var(--mint);margin-bottom:10px;font-size:22px;display:block}.preview-chamos-kitchen{background:#17233a}.preview-chamos-kitchen img{object-fit:contain;padding:14px}@media (max-width:760px){.roadmap-intro{align-items:start;gap:20px;font-size:10px}.roadmap-caption{max-width:150px}.roadmap-track{top:83px;bottom:75px;left:18px}.roadmap-milestone{margin-bottom:24px;padding-left:52px;display:block}.roadmap-node{width:36px;height:36px;box-shadow:0 0 0 5px var(--bg);margin-top:28px;font-size:10px;position:absolute;top:0;left:0}.reached .roadmap-node{box-shadow:0 0 0 5px var(--bg),0 0 20px #5dabff33}.roadmap-card,.roadmap-milestone:nth-child(2n) .roadmap-card{border-radius:16px;margin:0;padding:22px 20px}.roadmap-milestone:after,.roadmap-milestone:nth-child(2n):after{width:16px;top:46px;left:36px}.roadmap-card h3{overflow-wrap:anywhere;font-size:19px}.roadmap-card-top{gap:8px;margin-bottom:17px}.roadmap-date{padding:5px 8px;font-size:9px}.roadmap-card-top svg{flex-shrink:0;width:16px}.roadmap-card .roadmap-role,.roadmap-description{font-size:12px}.roadmap-origin{text-align:left;max-width:100%;margin-left:0;padding:0 0 0 52px}.roadmap-origin>span{position:absolute;top:0;left:8px}.experience .education{margin-top:45px}}.screenshot-grid:has(>a:only-child){grid-template-columns:1fr}.screenshot-grid:has(>a:only-child) a{max-width:100%}.particle-portrait{background:#06090f;position:absolute;inset:0}.particle-portrait .particle-fallback{object-fit:contain;object-position:center;filter:none;opacity:0;mix-blend-mode:normal;transition:opacity .25s}.particle-canvas{opacity:0;touch-action:pan-y;width:100%;height:100%;transition:opacity .35s;display:block;position:absolute;inset:0}.particle-portrait[data-particle-state=ready] .particle-canvas{opacity:1}.particle-portrait[data-particle-state=ready] .particle-fallback{opacity:0}.portrait-image-error{color:#bdc2c7;justify-content:center;align-items:center;font-size:13px;display:none;position:absolute;inset:0}.particle-portrait[data-image-error=true] .portrait-image-error{display:flex}.portrait-art:has(.particle-portrait):after{background:linear-gradient(#0000 85%,#06090fa0)}@media (prefers-reduced-motion:reduce){.particle-portrait .particle-fallback{opacity:1!important}.particle-canvas{display:none}}.portrait-art:has(.particle-portrait){box-shadow:none;background:0 0;border:0;border-radius:0}.portrait-art:has(.particle-portrait):after{display:none}.particle-portrait{background:0 0}.release-countdown{background:linear-gradient(120deg,#18243a,#111a2b);border:1px solid #404a5c;border-radius:18px;max-width:560px;margin-top:32px;padding:25px}.release-countdown.compact{margin:0 0 20px;padding:18px}.release-heading{color:#b9d8f9;align-items:center;gap:9px;font-size:12px;font-weight:600;display:flex}.release-clock{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.release-clock>div{text-align:center;background:#06090f35;border:1px solid #ffffff12;border-radius:10px;flex-direction:column;padding:12px 3px;display:flex}.release-clock strong{font-family:var(--font-body),sans-serif;color:#e5f1fd;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1.2}.release-clock span{text-transform:uppercase;letter-spacing:.08em;color:#b0bdcb;margin-top:5px;font-size:9px}.release-countdown .release-date{color:#a9b7c5;margin-top:14px;font-size:10px}.compact .release-clock{gap:8px;margin-top:14px}.compact .release-clock strong{font-size:25px}.compact .release-clock>div{padding:9px 2px}@media (max-width:760px){.release-countdown{padding:20px}.release-clock{gap:8px}.release-clock strong{font-size:27px}.release-clock span{font-size:8px}}.education-journey{border-top:1px solid var(--line);margin-top:50px;padding-top:65px}.academic-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:38px;display:flex}.academic-heading h2{font-size:clamp(32px,3.5vw,48px)}.academic-heading-icon{color:#adcdef;background:radial-gradient(circle,#5dabff15,#0000 70%);border:1px solid #364258;border-radius:50%;flex-shrink:0;place-items:center;width:80px;height:80px;display:grid}.academic-cards{perspective:1200px;grid-template-columns:1fr 1fr;gap:28px;display:grid}.academic-card{isolation:isolate;background:linear-gradient(140deg,#17233a,#101828 70%);border:1px solid #243759;border-radius:24px;min-height:320px;padding:30px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.academic-card:nth-child(2){background:linear-gradient(140deg,#18243b,#101827 70%);border-color:#263a5e}.academic-card:hover{border-color:#86acd5;box-shadow:0 14px 45px #0003}.academic-card-top{z-index:2;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.academic-icon{color:#c4dcf6;background:linear-gradient(140deg,#25385b,#1a2740);border:1px solid #556c84;border-radius:17px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 8px 22px #0002}.academic-card:nth-child(2) .academic-icon{color:#c9c9f3;background:linear-gradient(140deg,#243658,#1a273f);border-color:#5d5f87}.academic-level{text-transform:uppercase;letter-spacing:.11em;color:#afbcca;align-items:center;gap:16px;font-size:10px;display:flex}.academic-number{color:#7b8b9c;font-size:11px}.academic-year{font-family:var(--font-body),sans-serif;color:#c9e3ff07;letter-spacing:-.07em;pointer-events:none;font-size:110px;line-height:1;position:absolute;top:75px;right:15px}.academic-card-content{z-index:2;margin-top:28px;position:relative}.academic-card h3{letter-spacing:-.025em;max-width:400px;font-size:clamp(22px,2.1vw,29px);font-weight:600;line-height:1.35}.academic-institution{color:#c4d0dc;margin-top:15px;font-size:14px}.academic-institution.awaiting{color:#a9b6c3;font-size:12px}.academic-card-bottom{color:#a9b7c7;border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:20px;margin-top:27px;padding-top:20px;display:flex}.academic-card-bottom>span{align-items:center;gap:9px;font-size:11px;display:flex}.academic-card-bottom>svg{color:#b1ceee}.academic-card-shine{pointer-events:none;opacity:0;background:linear-gradient(110deg,#0000 36%,#ddedff09 49%,#0000 62%);position:absolute;inset:-30%;transform:translate(-80%)}.academic-arrived .academic-card-shine{animation:1.7s ease-out .15s both academic-sheen}.academic-card:nth-child(2) .academic-card-shine{animation-delay:.3s}@keyframes academic-sheen{0%{opacity:0;transform:translate(-80%)}25%{opacity:1}to{opacity:0;transform:translate(80%)}}@media (max-width:760px){.education-journey{margin-top:40px;padding-top:45px}.academic-heading{margin-bottom:28px}.academic-heading h2{font-size:30px}.academic-heading-icon{width:55px;height:55px}.academic-heading-icon svg{width:26px}.academic-cards{grid-template-columns:1fr;gap:20px}.academic-card{border-radius:20px;min-height:300px;padding:25px}.academic-card h3{font-size:24px}.academic-level{gap:10px;font-size:9px}.academic-institution{font-size:13px}.academic-card-bottom>span{font-size:10px}.academic-year{font-size:100px}.academic-icon{width:52px;height:52px}}@media (prefers-reduced-motion:reduce){.academic-card-shine{display:none}}.research-publication{background:linear-gradient(135deg,#151f32,#0f1726);border:1px solid #40495a;border-radius:24px;grid-template-columns:280px 1fr;margin-top:30px;display:grid;overflow:hidden}.research-visual{isolation:isolate;background:radial-gradient(at 50% 45%,#36425788,#131c2d 70%);border-right:1px solid #ffffff0e;flex-direction:column;justify-content:space-between;min-height:400px;padding:25px;display:flex;position:relative;overflow:hidden}.research-visual-top,.research-visual-bottom{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.research-visual-top>span:first-child{font-family:var(--font-body),sans-serif;color:#dfe7ef;letter-spacing:.04em;font-size:23px;font-weight:700}.research-visual-top>span:last-child{color:#acbbca;border:1px solid #616e7c;border-radius:30px;padding:3px 9px;font-size:10px}.research-visual-bottom{letter-spacing:.13em;color:#a8b6c5;font-size:8px}.research-visual-bottom>span:last-child{color:#adbfd3;font-size:24px}.research-orbit{border:1px solid #9dc0e516;border-radius:50%;width:340px;height:340px;position:absolute;top:55px;left:-30px;transform:rotate(-25deg)scaleX(.65)}.orbit-two{width:290px;height:290px;top:80px;left:-5px;transform:rotate(30deg)scaleX(.8)}.research-network{min-height:190px;position:absolute;inset:90px 10px 70px}.research-node{z-index:2;color:#cddbea;background:linear-gradient(140deg,#374154,#18253c);border:1px solid #758ca5;border-radius:16px;place-items:center;width:54px;height:54px;display:grid;position:absolute;box-shadow:0 6px 28px #0004}.research-node.learner{top:43%;left:10%}.research-node.preferences{color:#e5f2ff;background:linear-gradient(140deg,#576b80,#1e2d4a);border-color:#9db9d6;width:64px;height:64px;top:14%;left:43%}.research-node.courses{top:57%;right:2%}.research-network svg:not(.lucide){width:100%;height:100%;position:absolute;inset:0;overflow:visible}.research-network path{fill:none;stroke:#7c92a960;stroke-width:1px;stroke-dasharray:3 5}.research-network path.research-signal{stroke:#bcd8f6;stroke-width:1.5px;stroke-dasharray:16 260;opacity:.7;animation:5s linear infinite research-flow}.research-content{padding:30px}.research-overline{color:#a7b3bf;flex-wrap:wrap;align-items:center;gap:14px;font-size:10px;display:flex}.publication-badge{color:#d8d9ff;background:#8a92d510;border:1px solid #747ba14d;border-radius:30px;align-items:center;gap:7px;padding:5px 10px;font-size:10px;display:inline-flex}.research-content h3{letter-spacing:-.025em;max-width:700px;margin-top:20px;font-size:clamp(23px,2.5vw,34px);font-weight:600;line-height:1.3}.research-summary{max-width:700px;margin-top:17px;font-size:13px;line-height:1.8}.research-venue{color:#b9c3ce;margin-top:20px;font-size:11px}.research-venue>span{white-space:nowrap}.research-authors{color:#8d959e;margin-top:9px;font-size:10px;line-height:1.9}.research-primary-author{color:#d5e0ec}.research-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.research-bottom .button{gap:10px;min-height:44px;padding:11px 17px;font-size:11px}.research-doi{color:#a4b1bf;overflow-wrap:anywhere;min-height:28px;margin-top:19px;font-size:10px;display:inline-block}.research-doi:hover{color:var(--mint)}@keyframes research-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-276px}}@media (max-width:1000px){.research-publication{grid-template-columns:230px 1fr}.research-content{padding:25px}}@media (max-width:760px){.research-publication{border-radius:20px;grid-template-columns:1fr}.research-visual{border-bottom:1px solid #ffffff0e;border-right:0;min-height:240px}.research-network{min-height:170px;inset:30px 45px 25px}.research-orbit{top:-45px;left:calc(50% - 170px)}.orbit-two{top:-20px;left:calc(50% - 145px)}.research-content{padding:25px}.research-content h3{font-size:24px}.research-bottom{flex-direction:column;align-items:start;gap:17px}.research-overline{gap:10px}}@media (prefers-reduced-motion:reduce){.research-signal{animation:none}}.tech-stack{border-top:1px solid var(--line);margin-top:65px;padding-top:45px}.stack-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px;display:flex}.stack-heading h2{font-size:clamp(30px,3.5vw,46px)}.stack-heading .text-link{flex-shrink:0;align-items:center;gap:9px;margin:0;display:inline-flex}.stack-groups{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.stack-group{background:linear-gradient(150deg,#162135,#101828);border:1px solid #233455;border-radius:20px;padding:25px;position:relative;overflow:hidden}.stack-group-heading{align-items:center;gap:12px;margin-bottom:23px;display:flex}.stack-category-icon{color:#a3cbf5;background:#5dabff0a;border:1px solid #465164;border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.stack-group h3{letter-spacing:-.02em;font-size:17px;font-weight:600}.stack-group-number{color:#808d9a;margin-left:auto;font-size:10px}.stack-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.stack-tile{isolation:isolate;background:#0b111c66;border:1px solid #ffffff0a;border-radius:12px;align-items:center;gap:12px;min-height:68px;padding:13px;transition:border-color .3s,background .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.stack-tile>span:not(.stack-logo):not(.stack-tile-glow){color:#d7dce2;overflow-wrap:anywhere;z-index:2;font-size:12px;font-weight:500;position:relative}.stack-logo{z-index:2;flex-shrink:0;place-items:center;width:34px;height:34px;transition:transform .4s;display:grid;position:relative}.stack-logo img{object-fit:contain;width:28px;height:28px;display:block}.stack-tile-glow{z-index:0;opacity:0;background:radial-gradient(ellipse at 12% 50%,var(--tech-color),transparent 75%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.stack-tile-glow{background:radial-gradient(ellipse at 12% 50%,color-mix(in srgb,var(--tech-color) 15%,transparent),transparent 75%)}}.stack-tile-glow{transition:opacity .3s}.stack-tile:hover{border-color:var(--tech-color)}@supports (color:color-mix(in lab, red, red)){.stack-tile:hover{border-color:color-mix(in srgb,var(--tech-color) 55%,transparent)}}.stack-tile:hover{background:#111a2b;box-shadow:0 7px 18px #0002}.stack-tile:hover .stack-logo{transform:translateY(-2px)rotate(-5deg)scale(1.12)}.stack-tile:hover .stack-tile-glow{opacity:1}.stack-workflow{background:#111a2b;border:1px solid #233455;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:22px 25px;display:flex}.stack-workflow-label{letter-spacing:.04em;color:#b2c0ce;flex-shrink:0;font-size:11px}.stack-workflow ul{flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none;display:flex}.stack-workflow li{color:#c1c8cf;align-items:center;gap:8px;font-size:11px;display:flex}.stack-workflow svg{color:#99afc7}@media (max-width:1000px){.stack-group{padding:20px}.stack-tile{gap:8px;padding:11px}.stack-tile>span:not(.stack-logo):not(.stack-tile-glow){font-size:11px}.stack-workflow{flex-direction:column;align-items:start}}@media (max-width:760px){.tech-stack{margin-top:45px;padding-top:35px}.stack-heading{flex-direction:column;align-items:start;gap:16px}.stack-heading h2{font-size:30px}.stack-heading .text-link{font-size:11px}.stack-groups{grid-template-columns:1fr;gap:20px}.stack-group{border-radius:18px;padding:22px 18px}.stack-group h3{font-size:16px}.stack-tile{gap:9px;min-height:66px;padding:11px 9px}.stack-logo{width:30px}.stack-logo img{width:25px;height:25px}.stack-workflow{padding:21px 18px}.stack-workflow ul{grid-template-columns:1fr 1fr;gap:17px 16px;width:100%;display:grid}.stack-workflow li{gap:7px;font-size:10px}.stack-workflow li:last-child{overflow-wrap:anywhere}.stack-workflow li svg{flex-shrink:0}}.stack-filter{background:#121b2c;border:1px solid #233455;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:16px 20px;display:flex}.stack-filter>div{color:#9bafc4;align-items:center;gap:10px;display:flex}.stack-filter label{color:#bac4cf;margin:0;font-size:12px}.stack-filter select{color:#e8eef5;width:100%;max-width:320px;font:inherit;cursor:pointer;background:#0d1420;border:1px solid #404a5e;border-radius:9px;min-height:44px;padding:10px 36px 10px 13px;font-size:12px}.stack-filter select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.stack-groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.stack-group-wrap{min-width:0;animation:.35s ease-out stack-category-enter}.stack-group{height:100%;padding:20px}.stack-group h3{font-size:15px;line-height:1.4}.stack-category-icon{width:32px;height:32px}.stack-group-heading{gap:9px}.stack-tile{gap:8px;padding:11px 8px}.stack-tile>span:not(.stack-logo):not(.stack-tile-glow){font-size:10px;line-height:1.5}.stack-logo{width:27px}.stack-logo img{width:24px;height:24px}.stack-logo img[src$=express\.svg],.stack-logo img[src$=nextjs\.svg],.stack-logo img[src$=vercel\.svg],.stack-logo img[src$=expo\.svg]{filter:brightness(0)invert()}@keyframes stack-category-enter{0%{transform:translateY(8px)}to{transform:translateY(0)}}@media (max-width:1100px){.stack-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-tile>span:not(.stack-logo):not(.stack-tile-glow){font-size:11px}}@media (max-width:760px){.stack-groups{grid-template-columns:1fr}.stack-filter{flex-direction:column;align-items:stretch;gap:12px;padding:17px}.stack-filter select{max-width:none}.stack-group{padding:22px 18px}.stack-group h3{font-size:16px}.stack-tile{gap:10px;padding:12px 10px}.stack-tile>span:not(.stack-logo):not(.stack-tile-glow){font-size:11px}}.stack-logo img[src$=nextjs\.svg]{filter:invert()}.stack-logo img[src$=amazonwebservices\.svg]{filter:brightness(0)invert()}.stack-groups:has(.stack-group-wrap[hidden]){grid-template-columns:1fr}.stack-groups:has(.stack-group-wrap[hidden]) .stack-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}.research-network>svg:not(.lucide) path{fill:none;stroke:#7c92a960;stroke-width:1px;stroke-dasharray:3 5}.research-network .research-node svg path{fill:none;stroke:currentColor;stroke-width:2px;stroke-dasharray:none}.research-network>svg:not(.lucide) path.research-signal{stroke:#bcd8f6;stroke-width:1.5px;stroke-dasharray:16 260}@media (max-width:1100px){.stack-groups:has(.stack-group-wrap[hidden]) .stack-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.stack-groups:has(.stack-group-wrap[hidden]) .stack-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero{grid-template-columns:.95fr 1.15fr;gap:38px;min-height:810px;padding-top:45px;padding-bottom:45px}.portrait-art:has(.particle-portrait){height:720px}.portrait-art:has(.particle-portrait) .portrait-caption{bottom:16px}@media (max-width:1000px){.hero{grid-template-columns:.95fr 1.05fr;gap:24px;min-height:700px}.portrait-art:has(.particle-portrait){height:600px}.hero h1{font-size:clamp(46px,6.6vw,64px)}}@media (max-width:760px){.hero{grid-template-columns:1fr;gap:30px;min-height:auto;padding-top:54px;padding-bottom:45px}.portrait-art:has(.particle-portrait){height:min(540px,140vw)}.hero h1{font-size:clamp(46px,12vw,70px)}}.particle-portrait[data-particle-state=fallback] .particle-fallback{opacity:1}.site-header{background:#090e17e8;border-color:#ffffff13;height:80px;padding-inline:max(6.4%,50vw - 765px)}.site-header .monogram{font-size:36px}.site-header .nav{gap:42px}.site-header .nav a{position:relative}.site-header .nav a:after{content:"";transform-origin:0;background:#5dabff;height:2px;transition:transform .25s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.site-header .nav a.active:after,.site-header .nav a:hover:after{transform:scaleX(1)}.site-header .cv-link{border:1px solid #84898f;border-radius:50px;gap:16px;padding:10px 23px;font-size:12px;transition:border-color .25s,background .25s}.site-header .cv-link:hover{background:#5dabff0c;border-color:#5dabff}.reference-hero{background:radial-gradient(at 74% 38%,#5dabff09,#0000 53%);grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:0 12px;max-width:1748px;min-height:0;padding:30px 6.4% 0;overflow:hidden}.reference-hero .hero-copy{align-self:center;padding:25px 0 36px}.hero-availability{color:#c7dccf;align-items:center;gap:11px;margin-bottom:21px;font-size:12px;display:flex}.hero-availability>span{background:#69d88a;border-radius:50%;width:11px;height:11px;animation:4s ease-in-out infinite availability-pulse;box-shadow:0 0 15px #69d88a26}.reference-hero .eyebrow{letter-spacing:.22em;color:#d0d4d8;align-items:center;gap:23px;margin-bottom:22px;font-size:11px;display:flex}.reference-hero .eyebrow:before{content:"";background:#5dabff;flex-shrink:0;width:21px;height:2px}.reference-hero h1{letter-spacing:-.055em;font-size:clamp(65px,6.55vw,114px);font-weight:700;line-height:.97}.reference-hero h1>span{color:#5dabff}.reference-hero .title-period{color:#f0f3f6}.reference-hero .hero-copy>p{color:#bbc1c8;max-width:570px;margin-top:26px;font-size:clamp(15px,1.25vw,21px);line-height:1.65}.reference-hero .hero-location{color:#b3b9c0;align-items:center;gap:9px;margin-top:19px;font-size:13px;display:flex}.hero-location svg{color:#5dabff;flex-shrink:0}.reference-hero .actions{gap:14px;margin-top:24px}.reference-hero .button{background:0 0;border-color:#6b7177;gap:22px;min-width:180px;min-height:51px;padding:13px 28px;font-size:14px}.reference-hero .button.primary{background:linear-gradient(120deg,#47a0ff,#67b0ff);border-color:#5dabff;box-shadow:0 5px 28px #5dabff10}.reference-hero .button:hover{background:#5dabff14;border-color:#8dc4ff;transform:translateY(-3px);box-shadow:0 8px 30px #5dabff25}.reference-hero .button.primary:hover{background:#78b9ff}.reference-hero .hero-social{gap:0;margin-top:24px;display:flex}.reference-hero .hero-social a{align-items:center;gap:11px;min-height:44px;padding-right:24px;font-size:12px;display:inline-flex}.reference-hero .hero-social a+a{border-left:1px solid #ffffff24;padding-left:24px}.reference-hero .hero-social svg{color:#bfc5cc;flex-shrink:0}.reference-hero .hero-social a:hover svg{color:#5dabff}.reference-hero .hero-portrait{isolation:isolate;align-self:end;height:clamp(580px,34vw,600px);position:relative;overflow:visible}.hero-portrait .particle-portrait{z-index:2;inset:22px 7% 0 0}.hero-portrait .particle-fallback{filter:grayscale();mix-blend-mode:screen;-webkit-mask-image:linear-gradient(#000 83%,#0000 100%);mask-image:linear-gradient(#000 83%,#0000 100%)}.portrait-orbits{z-index:1;pointer-events:none;width:117%;height:104%;position:absolute;inset:-2% -9% -2% -8%;overflow:visible}.orbit-runner{transform-box:view-box;transform-origin:0 0;animation:26s linear infinite orbit-travel}.runner-1{animation-duration:39s;animation-direction:reverse}.runner-2{animation-duration:47s}.orbit-dust{transform-origin:420px 325px;animation:18s ease-in-out infinite alternate dust-drift}.dust-1{animation-duration:25s;animation-delay:-7s}.dust-2{animation-duration:31s;animation-delay:-13s}.portrait-note{z-index:3;color:#8496aa;font:10px/1.65 var(--font-body),sans-serif;letter-spacing:.03em;pointer-events:none;position:absolute}.portrait-note>span{color:#8ba4bf;margin-bottom:3px;font-size:9px;display:block}.portrait-note code{font:inherit}.portrait-note i{background:#8ba4bf;width:22px;height:1px;margin-top:11px;display:block}.note-passion{top:13%;left:-1%}.note-focus{top:11%;right:-4%}.note-learning{bottom:17%;right:-6%}.hero-toolkit{z-index:4;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff16;grid-column:1/-1;margin-inline:-3.5%;padding:36px 0 29px;position:relative}.hero-toolkit-label{text-align:center;letter-spacing:.22em;color:#8a9198;font-size:8px;position:absolute;top:9px;left:0;right:0}.hero-toolkit ul{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0 5%;list-style:none;display:grid}.hero-toolkit li{color:#bfc5cc;border-right:1px solid #ffffff24;justify-content:center;align-items:center;gap:16px;min-height:42px;font-size:15px;display:flex}.hero-toolkit li:last-child{border:0}.hero-toolkit img{object-fit:contain;filter:grayscale()brightness(1.5);opacity:.8;transition:filter .3s,opacity .3s,transform .3s}.hero-toolkit li:hover img{filter:none;opacity:1;transform:translateY(-3px)}@keyframes orbit-travel{to{transform:rotate(360deg)}}@keyframes dust-drift{to{opacity:.65;transform:translate(5px,-9px)rotate(3deg)}}@keyframes availability-pulse{50%{box-shadow:0 0 16px #69d88a45}}@media (min-width:1600px){.reference-hero{padding-top:38px}.reference-hero .hero-copy{padding-bottom:44px}.reference-hero .button{min-width:215px;min-height:57px;font-size:16px}.reference-hero .hero-location,.hero-availability,.reference-hero .hero-social a{font-size:14px}.portrait-note{font-size:12px}.portrait-note>span{font-size:10px}.hero-toolkit li{font-size:17px}}@media (max-width:1100px){.site-header .nav{gap:25px}.reference-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);column-gap:10px;padding-top:28px}.reference-hero h1{font-size:clamp(54px,6.5vw,72px)}.reference-hero .hero-copy>p{font-size:15px}.reference-hero .hero-portrait{height:480px}.reference-hero .button{min-width:0;padding:12px 20px;font-size:12px}.portrait-note{font-size:8px}.portrait-note>span{font-size:7px}.note-passion{top:9%;left:0}.note-focus{top:9%;right:-5%}.note-learning{right:-4%}.hero-toolkit li{gap:10px;font-size:12px}.hero-toolkit img{width:30px;height:30px}}@media (max-width:760px){.site-header{height:74px;padding-inline:6%}.site-header .cv-link{gap:7px;margin-right:0;padding:8px 12px;font-size:10px}.site-header .monogram{font-size:31px}.site-header .nav{gap:8px;top:74px}.site-header .nav a:after{width:28px;bottom:6px;right:auto}.reference-hero{grid-template-columns:minmax(0,1fr);gap:0;padding:33px 6% 0}.reference-hero .hero-copy{max-width:600px;padding:0}.hero-availability{margin-bottom:22px;font-size:11px}.reference-hero .eyebrow{letter-spacing:.16em;gap:15px;margin-bottom:22px;font-size:9px}.reference-hero h1{font-size:clamp(48px,13vw,82px);line-height:1.03}.reference-hero .hero-copy>p{max-width:440px;margin-top:22px;font-size:15px}.reference-hero .hero-location{margin-top:17px;font-size:12px}.reference-hero .actions{gap:10px;margin-top:22px}.reference-hero .button{gap:18px;min-height:49px;padding:12px 22px;font-size:12px}.reference-hero .hero-social{margin-top:16px}.reference-hero .hero-social a{gap:9px;padding-right:18px;font-size:11px}.reference-hero .hero-social a+a{padding-left:18px}.reference-hero .hero-portrait{height:clamp(300px,91vw,530px);margin-top:7px}.hero-portrait .particle-portrait{inset:8px 4% 0}.portrait-orbits{width:112%;height:100%;inset:0 -6%}.portrait-note{font-size:8px}.portrait-note>span{font-size:7px}.note-passion{top:15%;left:0}.note-focus{top:13%;right:-1%}.note-learning{bottom:15%;right:-1%}.hero-toolkit{margin-inline:0;padding:34px 0 20px}.hero-toolkit ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 0;padding:0}.hero-toolkit li{gap:8px;min-height:30px;font-size:11px}.hero-toolkit li:nth-child(3){border:0}.hero-toolkit li:nth-child(4){grid-column:1/2}.hero-toolkit img{width:25px;height:25px}.hero-toolkit-label{font-size:7px}}@media (max-width:360px){.reference-hero .button{gap:13px;padding:12px 17px}.reference-hero .eyebrow{font-size:8px}.reference-hero .hero-social a{font-size:10px}.portrait-note{font-size:7px}.portrait-note>span{font-size:6px}.hero-toolkit li{gap:6px;font-size:10px}}@media (prefers-reduced-motion:reduce){.orbit-runner,.orbit-dust,.hero-availability>span{animation:none}.reference-hero .button,.hero-toolkit img,.site-header .nav a:after{transition:none}.reference-hero .button:hover{transform:none}}.tech-marquee{min-width:0;padding:38px 0 24px;overflow:hidden}.marquee-heading{justify-content:center;align-items:center;gap:9px;display:flex;position:absolute;inset:6px 0 auto}.tech-marquee .hero-toolkit-label{line-height:24px;position:static}.marquee-toggle{color:#a5adb5;background:0 0;border:1px solid #ffffff16;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;transition:color .2s,border-color .2s;display:grid}.marquee-toggle:hover{color:#8dc4ff;border-color:#5dabff66}.marquee-window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.marquee-track{will-change:transform;width:max-content;animation:170s linear infinite tech-slide;display:flex}.tech-marquee .marquee-group{flex:none;gap:0;width:max-content;margin:0;padding:0;list-style:none;display:flex}.tech-marquee .marquee-group li{color:#c2c8ce;white-space:normal;text-align:left;border-right:1px solid #ffffff1a;flex:none;justify-content:center;align-items:center;gap:13px;width:210px;min-height:42px;padding:0 24px;font-size:13px;line-height:1.5;display:flex}.tech-marquee .marquee-group li:last-child{border-right:1px solid #ffffff1a}.tech-marquee .marquee-group li span{max-width:140px}.tech-marquee .marquee-group img,.tech-marquee .marquee-group svg{object-fit:contain;color:#b5bec7;filter:grayscale()brightness(1.3);opacity:.8;flex-shrink:0;width:29px;height:29px}.tech-marquee .marquee-group img[src$=nextjs\.svg],.tech-marquee .marquee-group img[src$=express\.svg],.tech-marquee .marquee-group img[src$=expo\.svg],.tech-marquee .marquee-group img[src$=amazonwebservices\.svg]{filter:brightness(0)invert()}.tech-marquee li:hover img{filter:none;opacity:1;transform:translateY(-2px)}.tech-marquee li:hover svg{color:var(--tech-color)}.tech-marquee:focus-within .marquee-track,.tech-marquee.is-paused .marquee-track{animation-play-state:paused}@keyframes tech-slide{to{transform:translate(-50%)}}@media (max-width:760px){.tech-marquee{padding:39px 0 21px}.tech-marquee .marquee-group li{gap:11px;width:175px;padding:0 18px;font-size:11px}.tech-marquee .marquee-group img,.tech-marquee .marquee-group svg{width:26px;height:26px}.marquee-track{animation-duration:140s}}@media (prefers-reduced-motion:reduce){.marquee-track{will-change:auto;width:auto;animation:none;transform:none}.marquee-window{overflow:visible;-webkit-mask-image:none;mask-image:none}.tech-marquee .marquee-group{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 0;width:100%;display:grid}.tech-marquee .marquee-group[aria-hidden=true]{display:none}.tech-marquee .marquee-group li{width:auto;min-width:0;padding:8px 12px;font-size:11px}.tech-marquee .marquee-group li:nth-child(5n){border:0}.marquee-toggle{display:none}.tech-marquee li:hover img{transform:none}}@media (max-width:760px) and (prefers-reduced-motion:reduce){.tech-marquee .marquee-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.tech-marquee .marquee-group li{gap:8px;padding:8px;font-size:10px}.tech-marquee .marquee-group li:nth-child(5n){border-right:1px solid #ffffff1a}.tech-marquee .marquee-group li:nth-child(2n){border:0}}.hero-portrait .particle-portrait:before{content:"";-webkit-mask-image:var(--portrait-silhouette);-webkit-mask-image:var(--portrait-silhouette);-webkit-mask-image:var(--portrait-silhouette);mask-image:var(--portrait-silhouette);opacity:0;pointer-events:none;background:#0b101a;position:absolute;inset:0;transform:scale(.9434);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-portrait .particle-portrait[data-particle-state=ready]:before{opacity:1}.hero-portrait .particle-fallback{mix-blend-mode:normal}@media (hover:hover) and (pointer:fine){.tech-marquee:hover .marquee-track{animation-play-state:paused}}.header-actions{align-items:center;gap:15px;display:flex}.language-selector{background:#101826;border:1px solid #ffffff20;border-radius:50px;gap:3px;padding:4px;display:flex}.language-selector button{color:#a4abb2;min-width:55px;min-height:34px;font:600 10px/1 var(--font-body),sans-serif;background:0 0;border:0;border-radius:30px;justify-content:center;align-items:center;gap:6px;padding:5px 9px;transition:background .2s,color .2s,box-shadow .2s;display:flex}.language-selector button>span{font-size:17px;line-height:1}.language-selector button.selected{color:#e3f1ff;background:#5dabff1a;box-shadow:inset 0 0 0 1px #5dabff55}.language-selector button:hover{color:#fff;background:#ffffff0b}.language-selector button.selected:hover{background:#5dabff25}.mobile-cv{display:none!important}html[lang=fi] .reference-hero h1{font-size:clamp(56px,5.3vw,93px)}html[lang=fi] .reference-hero .eyebrow{letter-spacing:.12em}html[lang=fi] .reference-hero .button{min-width:0;padding-inline:23px;font-size:13px}html[lang=fi] .note-focus{font-size:10px;right:-6%}html[lang=fi] .about-grid h2{font-size:clamp(30px,3.4vw,47px)}html[lang=fi] .hero-toolkit-label{letter-spacing:.16em}@media (max-width:1100px){.site-header .nav{gap:18px}.site-header .nav a{font-size:11px}.header-actions{gap:9px}.site-header .cv-link{padding-inline:15px}.language-selector button{min-width:47px;padding-inline:6px}html[lang=fi] .reference-hero h1{font-size:5.5vw}html[lang=fi] .note-focus{font-size:8px}}@media (max-width:760px){.site-header{gap:10px}.site-header .monogram{margin-right:auto}.header-actions{order:1}.menu-toggle{order:2}.header-actions>.cv-link{display:none}.language-selector{padding:3px}.language-selector button{min-width:48px;min-height:36px;font-size:10px}.language-selector button>span{font-size:16px}.site-header .mobile-cv{color:#9dccff;border-top:1px solid #ffffff16;align-items:center;gap:12px;margin-top:8px;padding-top:13px;display:flex!important}.site-header .nav a{font-size:14px}html[lang=fi] .reference-hero h1{font-size:clamp(43px,11.6vw,76px)}html[lang=fi] .reference-hero .button{gap:12px;padding-inline:17px;font-size:11px}html[lang=fi] .note-focus{font-size:7px;right:-1%}html[lang=fi] .note-focus span{font-size:6px}html[lang=fi] .about-grid h2{font-size:clamp(28px,7vw,38px)}}@media (prefers-reduced-motion:reduce){.language-selector button{transition:none}}html[lang=fi] .academic-heading>div{min-width:0}html[lang=fi] .academic-heading h2{overflow-wrap:anywhere}html[lang=fi] .academic-heading-icon{flex-shrink:0}@media (max-width:760px){html[lang=fi] .academic-heading{gap:14px}html[lang=fi] .academic-heading h2{font-size:27px}}.orbital-toolkit{background:radial-gradient(at 73% 48%,#5dabff06,#0000 60%);grid-template-columns:280px minmax(0,1fr);column-gap:20px;margin-top:65px;padding-top:50px;display:grid;position:relative}.toolkit-sidebar{z-index:2;padding-top:20px;position:relative}.toolkit-sidebar h2{letter-spacing:-.045em;font-size:clamp(37px,3.8vw,53px);line-height:1.12}.toolkit-sidebar h2>span{color:#8bc3ff;display:block}.toolkit-sidebar>p{color:#a6adb5;margin-top:15px;font-size:13px;line-height:1.65}.toolkit-categories{flex-direction:column;gap:8px;margin-top:34px;display:flex}.toolkit-categories button{text-align:left;color:#b3b9c0;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:16px;min-height:58px;padding:14px 16px;font-size:14px;transition:color .25s,background .25s,border-color .25s;display:flex;position:relative}.toolkit-categories button>svg:first-child{flex-shrink:0}.toolkit-categories button>svg:last-child{flex-shrink:0;margin-left:auto}.toolkit-categories button[aria-pressed=true]{color:#a7d2ff;background:linear-gradient(90deg,#78b9ff18,#0000);border-color:#82beff36}.toolkit-categories button[aria-pressed=true]:before{content:"";background:#a7d2ff;border-radius:5px;width:3px;position:absolute;top:13px;bottom:13px;left:-1px;box-shadow:0 0 14px #7ebcff}.toolkit-categories button:hover{color:#daecff;background:#78b9ff10}.toolkit-link{color:#a0a8b0;align-items:center;gap:8px;min-height:44px;margin-top:17px;font-size:11px;display:inline-flex}.toolkit-link:hover{color:#a7d2ff}.toolkit-system{aspect-ratio:1.19;isolation:isolate;align-self:center;min-width:0;margin-inline:-10px;position:relative;overflow:hidden}.toolkit-orbit-field{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.solar-runner{transform-origin:0 0;animation:35s linear infinite solar-travel}.solar-runner-1{animation-direction:reverse}.toolkit-stardust{transform-origin:450px 350px;animation:8s ease-in-out infinite alternate stellar-breathe}.toolkit-core{aspect-ratio:1;text-align:center;z-index:2;background:radial-gradient(circle at 33% 28%,#9cccff20,#0000 43%),radial-gradient(circle at 50% 60%,#0d131f 44%,#346191 91%,#a4d0ff 100%);border:1px solid #c2dfff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:24%;padding:12px;animation:6s ease-in-out infinite core-glow;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 10px #a8d2ff,0 0 35px #6ab2ff60,inset 0 0 24px #7cbbff80}.toolkit-core>svg{color:#90c6ff;z-index:1;width:30%;height:30%}.toolkit-core h3{color:#e0efff;z-index:1;font-size:clamp(11px,1.6vw,19px);font-weight:600;line-height:1.3}.toolkit-core>span{color:#95adc6;z-index:1;font-size:8px;line-height:1.3}.core-sparks{opacity:.4;background:repeating-conic-gradient(from 10deg,#73b7ff1a 0deg 1deg,#0000 1deg 21deg);animation:65s linear infinite solar-travel;position:absolute;inset:-50%}.toolkit-planets{z-index:3;margin:0;padding:0;list-style:none;position:absolute;inset:0}.toolkit-planet{aspect-ratio:1;text-align:center;width:17%;animation:planet-arrive .65s cubic-bezier(.22,1,.36,1) var(--planet-delay) both;background-color:#0000;background-image:radial-gradient(circle at 30% 18%,#ffffff0c,#0000 47%),linear-gradient(140deg,#0e1522f5,#0a0f19fa);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:padding-box;border:1px solid #8495a866;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;transition:border-color .3s,box-shadow .3s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 2px 7px #ffffff08,0 7px 25px #0006}.toolkit-planet>img,.toolkit-planet>svg{object-fit:contain;width:43%;height:43%;color:var(--planet-color);flex-shrink:0}.toolkit-planet img[src$=nextjs\.svg]{filter:invert()}.toolkit-planet img[src$=express\.svg],.toolkit-planet img[src$=amazonwebservices\.svg],.toolkit-planet img[src$=expo\.svg]{filter:brightness(0)invert()}.toolkit-planet>span{color:#d5d8dc;overflow-wrap:anywhere;font-size:clamp(8px,.9vw,12px);line-height:1.3}.toolkit-planet:nth-child(-n+4){border-color:#89b4e177}.toolkit-planet:first-child{border:2px solid #a2cfff;box-shadow:0 0 12px #7fbdff70,inset 0 0 17px #78b9ff20}.toolkit-planet:hover{border-color:var(--planet-color);box-shadow:0 0 22px var(--planet-color),inset 0 0 12px #ffffff06}@supports (color:color-mix(in lab, red, red)){.toolkit-planet:hover{box-shadow:0 0 22px color-mix(in srgb,var(--planet-color) 25%,transparent),inset 0 0 12px #ffffff06}}.planet-6,.planet-7{width:12%}.planet-6>span,.planet-7>span{font-size:8px}.decorative-moon{aspect-ratio:1;z-index:1;background:radial-gradient(circle at 27% 20%,#77757b,#162136 36%,#06090f 70%);border-radius:50%;width:6%;position:absolute;box-shadow:inset 1px 1px 3px #b0b5bb30}.moon-one{width:5%;top:48%;left:18%}.moon-two{width:6%;top:58%;right:18%}.toolkit-pause{z-index:5;color:#a4adb6;background:#0d142188;border:1px solid #fff2;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:3%;right:0}.toolkit-pause:hover{color:#a2cfff;border-color:#7cbbff88}.toolkit-inventory{border-top:1px solid #ffffff13;grid-column:1/-1;margin-top:15px;padding-top:15px}.toolkit-inventory summary{color:#a1a8b0;cursor:pointer;justify-content:space-between;align-items:center;gap:15px;min-height:44px;font-size:12px;list-style:none;display:flex}.toolkit-inventory summary::-webkit-details-marker{display:none}.toolkit-inventory summary>span{color:#a9caed;align-items:center;gap:13px;font-size:10px;display:flex}.toolkit-inventory[open] summary svg{transform:rotate(90deg)}.toolkit-inventory ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:15px 0 0;list-style:none;display:grid}.toolkit-inventory li{background:#0a101a66;border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:10px;min-width:0;padding:14px;display:flex}.toolkit-inventory li>img,.toolkit-inventory li>svg{object-fit:contain;color:#b0cbe7;flex-shrink:0;width:24px;height:24px}.toolkit-inventory li>span{overflow-wrap:anywhere;color:#b8c0c9;font-size:11px;line-height:1.5}.toolkit-inventory img[src$=nextjs\.svg]{filter:invert()}.toolkit-inventory img[src$=express\.svg],.toolkit-inventory img[src$=amazonwebservices\.svg],.toolkit-inventory img[src$=expo\.svg]{filter:brightness(0)invert()}.orbital-toolkit.is-paused .solar-runner,.orbital-toolkit.is-paused .toolkit-stardust,.orbital-toolkit.is-paused .core-sparks,.orbital-toolkit.is-paused .toolkit-core,.orbital-toolkit[data-visible=false] .solar-runner,.orbital-toolkit[data-visible=false] .toolkit-stardust,.orbital-toolkit[data-visible=false] .core-sparks,.orbital-toolkit[data-visible=false] .toolkit-core{animation-play-state:paused}html[lang=fi] .toolkit-sidebar h2{font-size:clamp(33px,3.2vw,45px)}@keyframes solar-travel{to{transform:rotate(360deg)}}@keyframes stellar-breathe{to{opacity:.5;transform:rotate(2deg)}}@keyframes core-glow{50%{box-shadow:0 0 15px #a8d2ff,0 0 43px #6ab2ff80,inset 0 0 30px #7cbbff90}}@keyframes planet-arrive{0%{opacity:0;transform:translate(-50%,-50%)scale(.88)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (max-width:1000px){.orbital-toolkit{grid-template-columns:220px minmax(0,1fr);column-gap:8px}.toolkit-categories button{gap:10px;min-height:53px;padding:12px;font-size:12px}.toolkit-sidebar h2{font-size:36px}.toolkit-system{aspect-ratio:1.1}.toolkit-core{width:26%}.toolkit-planet{gap:5px;width:18%;padding:8px}.toolkit-inventory ul{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.orbital-toolkit{grid-template-columns:minmax(0,1fr);gap:0;margin-top:40px;padding-top:30px}.toolkit-sidebar{padding-top:0}.toolkit-sidebar h2{font-size:36px}.toolkit-sidebar h2>span{display:inline}.toolkit-sidebar>p{margin-top:13px;font-size:12px}.toolkit-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:24px;display:grid}.toolkit-categories button{text-align:center;border:1px solid #ffffff0c;border-radius:10px;flex-direction:column;justify-content:center;gap:6px;min-height:64px;padding:9px 6px;font-size:10px;line-height:1.35}.toolkit-categories button>svg:first-child{width:21px;height:21px}.toolkit-categories button>svg:last-child{display:none}.toolkit-categories button[aria-pressed=true]:before{width:auto;height:2px;inset:auto 12px -1px}.toolkit-link{margin-top:9px;font-size:10px}.toolkit-system{aspect-ratio:1.03;margin-inline:-4%;width:108%;margin-top:7px}.toolkit-core{gap:3px;width:26%;padding:7px}.toolkit-core h3{font-size:10px}.toolkit-core>span{font-size:6px}.toolkit-planet{gap:5px;width:20%;padding:7px}.toolkit-planet>span{font-size:8px;line-height:1.25}.planet-6,.planet-7{width:16%;padding:5px}.planet-6>span,.planet-7>span{font-size:6px}.toolkit-pause{width:32px;height:32px;top:0;right:4%}.toolkit-inventory{margin-top:12px;padding-top:9px}.toolkit-inventory summary{font-size:11px}.toolkit-inventory ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toolkit-inventory li{gap:8px;padding:11px 9px}.toolkit-inventory li>span{font-size:10px}.toolkit-inventory li>img,.toolkit-inventory li>svg{width:22px;height:22px}html[lang=fi] .toolkit-sidebar h2{font-size:32px}.toolkit-sidebar .eyebrow{font-size:10px}}@media (prefers-reduced-motion:reduce){.solar-runner,.toolkit-stardust,.core-sparks,.toolkit-core,.toolkit-planet{animation:none}.toolkit-planet{opacity:1}.toolkit-categories button,.toolkit-planet{transition:none}.toolkit-pause{display:none}}.orbital-toolkit{background:radial-gradient(at 73% 48%,#5dabff0b,#0000 60%),#0a101a;border:1px solid #ffffff0b;border-radius:24px;grid-template-columns:310px minmax(0,1fr);padding:32px}.toolkit-sidebar h2{font-size:clamp(36px,3.3vw,47px)}@media (max-width:1000px){.orbital-toolkit{grid-template-columns:210px minmax(0,1fr);padding:24px}.toolkit-sidebar h2{font-size:34px}}@media (max-width:760px){.orbital-toolkit{border-radius:20px;grid-template-columns:minmax(0,1fr);padding:22px 16px}.toolkit-sidebar h2{font-size:31px;line-height:1.25}.toolkit-system{width:100%;margin-inline:0}.toolkit-sidebar h2>span{display:block}html[lang=fi] .toolkit-sidebar h2{font-size:30px}.toolkit-categories button,.toolkit-core h3{font-size:9px}.toolkit-core>span{font-size:5px}.toolkit-planet>span{font-size:7px}.planet-6>span,.planet-7>span{font-size:6px}}@media (max-width:480px){.toolkit-planet{width:22%;padding:6px}.toolkit-planet>span{font-size:8px}.toolkit-planets .planet-6,.toolkit-planets .planet-7{display:none}.toolkit-core{width:28%}.toolkit-core h3{font-size:10px}.toolkit-core>span{font-size:6px}}body{isolation:isolate}.flow-background{z-index:-1;pointer-events:none;background:#080d15;position:fixed;inset:0;overflow:hidden}.flow-background canvas{opacity:.78;pointer-events:none;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}.flow-fallback{background:radial-gradient(at 100% 76%,#5dabff17,#0000 37%),radial-gradient(at 16% 105%,#95c8ff12,#0000 42%);position:absolute;inset:0}.flow-shade{background:radial-gradient(at 37% 28%,#080d15b0 0%,#080d1550 37%,#0000 72%),linear-gradient(90deg,#080d1538,#0000 65%);position:absolute;inset:0}.about{background:#0f1726e8}.contact{background:#101826e8}.site-header{background:#090e17ed}.reference-hero{background:radial-gradient(at 74% 38%,#5dabff06,#0000 53%)}@media (max-width:760px){.flow-background canvas{opacity:.43}.flow-shade{background:linear-gradient(90deg,#080d1580,#080d1510),radial-gradient(at 30% 25%,#080d1590,#0000 75%)}}@media (prefers-reduced-motion:reduce){.flow-background canvas{transition:none}}.circuit-background{background:#080c13}.circuit-background .flow-fallback{background:radial-gradient(at 100% 80%,#3798ff13,#0000 40%)}.circuit-background .flow-fallback:after{content:"";background-image:radial-gradient(#a6afb92b .8px,#0000 1px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#0000 46%,#000 100%);mask-image:linear-gradient(135deg,#0000 46%,#000 100%)}.circuit-background .flow-shade{background:radial-gradient(at 32% 27%,#080c13dd 0%,#080c1380 38%,#0000 78%)}.circuit-code{color:#76b8ff;width:42px;height:42px;font:22px/1 var(--font-body),sans-serif;background:#080c13bb;border:1px solid #8da7c375;border-radius:6px;place-items:center;display:grid;position:absolute;box-shadow:0 0 16px #48a0ff11}.code-one{bottom:12%;left:45%}.code-two{border-color:#60adff87;bottom:12%;right:10%}.circuit-terminal{font:30px/1 var(--font-body),sans-serif;color:#68b1ff;opacity:.7;position:absolute;bottom:17%;left:3%}@media (max-width:760px){.circuit-background canvas{opacity:.57}.circuit-code{opacity:.65;width:29px;height:29px;font-size:16px}.code-one{bottom:10%;left:44%}.code-two{bottom:17%;right:5%}.circuit-terminal{opacity:.45;font-size:20px;bottom:21%}.circuit-background .flow-shade{background:linear-gradient(90deg,#080c13bb,#080c1340 65%,#0000)}}.circuit-aurora{transform-origin:85% 85%;opacity:.8;background:radial-gradient(at 99% 79%,#3e9bff24,#0000 34%),radial-gradient(at 67% 107%,#66b0ff1c,#0000 30%),radial-gradient(at 97% 15%,#4979ad0d,#0000 28%);animation:14s ease-in-out infinite alternate circuit-depth;position:absolute;inset:-5%}.circuit-background .flow-fallback:after{opacity:.65}.circuit-background .circuit-code{border-color:#97c2ef88;box-shadow:0 0 22px #48a0ff24,inset 0 0 15px #63aeff0b}.circuit-background .code-two{border-color:#60adffaa;box-shadow:0 0 22px #48a0ff30}.circuit-background canvas{opacity:.95}@keyframes circuit-depth{to{opacity:.55;transform:scale(1.06)translate(-5px,-3px)}}@media (max-width:760px){.circuit-background canvas{opacity:.65}.circuit-aurora{opacity:.5;animation-duration:18s}}@media (prefers-reduced-motion:reduce){.circuit-aurora{animation:none}}.knowledge-journey{isolation:isolate;background:radial-gradient(at 50% 88%,#55a7ff15,#0000 40%),linear-gradient(145deg,#090e16f0,#0c121eeb);border:1px solid #ffffff0b;border-radius:24px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:30px 12px;padding:64px 25px 35px;display:grid;position:relative;overflow:hidden}.knowledge-intro{grid-area:1/1;align-self:start;padding:14px 4px 0}.knowledge-intro .eyebrow{letter-spacing:.19em;color:#71b6ff;font-size:10px}.knowledge-intro h2{letter-spacing:-.05em;font-size:clamp(37px,4.2vw,57px);line-height:1.07}.knowledge-intro h2>span{color:#66b0ff}.knowledge-intro>p{color:#b4bcc4;max-width:360px;margin-top:20px;font-size:13px;line-height:1.7}.knowledge-timeline{z-index:0;grid-area:1/2/3;align-self:stretch;min-height:720px;position:relative}.knowledge-beam{width:150%;height:calc(100% + 30px);position:absolute;inset:-30px -25%;overflow:visible}.knowledge-year{color:#c2d3e5;letter-spacing:.04em;font-size:13px;font-weight:500;position:absolute}.year-master{top:7%;left:65%}.year-bachelor{top:70%;left:0}.beam-current{stroke-dasharray:3 9;animation:18s linear infinite knowledge-flow}.beam-year-node{filter:drop-shadow(0 0 8px #68b1ff);animation:5s ease-in-out infinite knowledge-node}.beam-ground{filter:drop-shadow(0 0 5px #66b0ff55)}.knowledge-crystal{transform-box:fill-box;transform-origin:50%;animation:9s ease-in-out infinite alternate crystal-float}.crystal-two{animation-duration:12s;animation-delay:-4s}.crystal-three{animation-duration:14s;animation-delay:-7s}.degree-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1;background:linear-gradient(140deg,#18243a90,#0b111cdc 58%,#16223796);border:1px solid #959ba15c;border-radius:17px;align-self:start;padding:25px 21px;transition:border-color .3s,box-shadow .3s;position:relative;box-shadow:0 18px 36px #0005,inset 0 1px 1px #ffffff1a}.degree-card:before{content:"";background:#d0e7ff;border-radius:8px;width:2px;height:57px;animation:7s ease-in-out infinite degree-edge;position:absolute;top:35px;left:-1px;box-shadow:0 0 10px #64afff,0 0 25px #64afff}.degree-card:hover{border-color:#a8cbf099;box-shadow:0 20px 44px #0005,inset 0 1px 1px #ffffff1a,0 0 30px #61adff13}.degree-master{grid-area:1/3/3;margin-top:20px}.degree-bachelor{grid-area:2/1}.degree-overline{letter-spacing:.19em;text-transform:uppercase;color:#b7c0c9;margin-bottom:22px;font-size:9px}.degree-title{align-items:start;gap:10px;display:flex}.degree-title>span{color:#72b6ff;flex-shrink:0;margin-top:4px}.degree-title h3{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(23px,2.35vw,32px);font-weight:600;line-height:1.25}.degree-institution{color:#d5dbe1;margin-top:14px;font-size:13px;line-height:1.6}.degree-institution.pending{color:#9fafc1;font-size:11px}.degree-date{color:#c6ced7;border:1px solid #99a3ae65;border-radius:30px;align-items:center;gap:8px;margin-top:18px;padding:6px 12px;font-size:10px;line-height:1.5;display:inline-flex}.degree-date svg{color:#9cccff;flex-shrink:0}.degree-spotlight{background:radial-gradient(at 10% 100%,#4ca3ff20,#0000 70%),#0f162370;border:1px solid #7bb3ee70;border-radius:13px;margin-top:22px;padding:20px 15px;box-shadow:inset 0 0 25px #60adff08}.spotlight-label{letter-spacing:.13em;color:#7fbdff;align-items:center;gap:10px;font-size:9px;font-weight:600;line-height:1.5;display:flex}.spotlight-label svg{flex-shrink:0}.pending-research h4{letter-spacing:-.02em;color:#d8e4f1;margin:20px 0 13px;font-size:23px;font-weight:500;line-height:1.35}.pending-research>p{color:#a7b1bc;font-size:12px;line-height:1.75}.research-pending-label{color:#a4c0dd;border:1px solid #5c7c9e80;border-radius:30px;margin-top:20px;padding:6px 12px;font-size:9px;display:inline-flex}.degree-spotlight .research-publication{background:0 0;border:0;border-radius:0;margin-top:15px;display:block;overflow:visible}.degree-spotlight .research-visual{display:none}.degree-spotlight .research-content{padding:0}.degree-spotlight .research-overline{gap:8px;font-size:8px}.degree-spotlight .publication-badge{padding:4px 7px;font-size:8px}.degree-spotlight .research-content h3{margin-top:17px;font-size:21px;line-height:1.35}.degree-spotlight .research-summary{margin-top:14px;font-size:11px;line-height:1.7}.degree-spotlight .research-venue{margin-top:16px;font-size:9px}.degree-spotlight .research-authors{font-size:8px}.degree-spotlight .research-bottom{gap:14px;margin-top:17px}.degree-spotlight .tags span{padding:4px 9px;font-size:8px}.degree-spotlight .research-bottom .button{gap:8px;padding:9px 12px;font-size:10px}.degree-spotlight .research-doi{margin-top:13px;font-size:8px;line-height:1.5}.education-pause{color:#aebac7;z-index:3;background:#0d1420b0;border:1px solid #ffffff20;border-radius:30px;align-items:center;gap:7px;min-height:32px;padding:5px 10px;font-size:9px;display:inline-flex;position:absolute;top:17px;right:25px}.education-pause:hover{color:#e0efff;border-color:#7cbbff90}.knowledge-journey.is-paused .beam-current,.knowledge-journey.is-paused .beam-year-node,.knowledge-journey.is-paused .knowledge-crystal,.knowledge-journey.is-paused .degree-card:before,.knowledge-journey[data-visible=false] .beam-current,.knowledge-journey[data-visible=false] .beam-year-node,.knowledge-journey[data-visible=false] .knowledge-crystal,.knowledge-journey[data-visible=false] .degree-card:before{animation-play-state:paused}@keyframes knowledge-flow{to{stroke-dashoffset:-240px}}@keyframes knowledge-node{50%{filter:drop-shadow(0 0 13px #68b1ff)}}@keyframes crystal-float{to{transform:translateY(-12px)rotate(7deg)}}@keyframes degree-edge{50%{opacity:.55;transform:translateY(14px)}}.typing-title .typed-word{vertical-align:bottom;width:max-content;max-width:100%;display:inline-block;position:relative}.reference-hero h1.typing-title>.typed-first{color:#f0f3f6}.reference-hero h1.typing-title>.typed-second{color:#5dabff}.typed-word:after{content:"";opacity:0;pointer-events:none;background:currentColor;border-radius:2px;width:3px;animation:1.05s steps(8,end) .25s both title-caret;position:absolute;top:16%;bottom:8%;left:0}.typed-second:after{animation-duration:1.1s;animation-delay:1.4s}@keyframes title-caret{0%{opacity:.65;left:0}99%{opacity:.65;left:100%}to{opacity:0;left:100%}}@media (max-width:1000px){.knowledge-journey{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);gap:25px 6px;padding:55px 20px 30px}.knowledge-intro h2{font-size:36px}.degree-card{padding:21px 15px}.degree-title h3{font-size:23px}.degree-title{gap:8px}.degree-title>span svg{width:20px;height:20px}.knowledge-beam{width:190%;inset-inline:-45%}.degree-spotlight{padding:18px 12px}.degree-spotlight .research-content h3{font-size:19px}.year-master{font-size:11px;left:50%}.year-bachelor{font-size:11px}}@media (max-width:760px){.knowledge-journey{border-radius:20px;grid-template-rows:auto auto auto;grid-template-columns:35px minmax(0,1fr);gap:25px 11px;padding:63px 16px 24px;overflow:hidden}.knowledge-intro{grid-area:1/1/auto/3;padding:0}.knowledge-intro h2{font-size:clamp(36px,10vw,49px)}.knowledge-intro>p{max-width:400px;margin-top:16px;font-size:12px}.knowledge-intro .eyebrow{font-size:9px}.knowledge-timeline{grid-area:2/1/4;min-height:0}.knowledge-beam{opacity:.75;width:135px;height:100%;top:-15px;left:-50px;right:auto}.knowledge-year{left:0;font-size:8px!important}.year-master{top:5%}.year-bachelor{top:58%}.degree-master{grid-area:2/2;margin:0}.degree-bachelor{grid-area:3/2}.degree-card{border-radius:15px;padding:20px 15px}.degree-overline{letter-spacing:.12em;margin-bottom:15px;font-size:8px}.degree-title h3{font-size:22px}.degree-institution{font-size:11px}.degree-date{gap:6px;padding:6px 9px;font-size:9px}.pending-research h4{font-size:21px}.degree-spotlight .research-content h3{font-size:20px}.degree-spotlight .research-summary{font-size:11px}.education-pause{top:17px;right:16px}.spotlight-label{letter-spacing:.08em;gap:7px;font-size:8px}.degree-spotlight{padding:16px 11px}.degree-spotlight .research-bottom{flex-direction:column;align-items:start}.degree-spotlight .research-doi{overflow-wrap:anywhere}.degree-title>span{display:none}}@media (prefers-reduced-motion:reduce){.beam-current,.beam-year-node,.knowledge-crystal,.degree-card:before,.typed-word:after{animation:none}.degree-card{transition:none}.education-pause{display:none}}.knowledge-journey.education-transparent{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;overflow:visible}.education-transparent .degree-master{grid-area:1/2/3}.education-transparent .degree-bachelor{grid-area:2/1}.education-transparent .degree-card:before{animation:none}.education-transparent .degree-card{transition:none}@media (max-width:760px){.knowledge-journey.education-transparent{grid-template-columns:minmax(0,1fr);gap:24px;padding:30px 0 0}.education-transparent .knowledge-intro{grid-area:1/1}.education-transparent .degree-master{grid-area:2/1}.education-transparent .degree-bachelor{grid-area:3/1}}.hero-name-block{margin-bottom:25px}.hero-name-block>span{letter-spacing:.19em;color:#aeb5bc;align-items:center;gap:15px;margin-bottom:8px;font-size:10px;line-height:1.5;display:flex}.hero-name-block>span:before{content:"";background:#5dabff;width:21px;height:2px}.hero-name-block>p{font-family:var(--font-body),sans-serif;text-transform:uppercase;letter-spacing:.025em;color:#dfe9f4;margin:0;font-size:clamp(23px,2.1vw,36px);font-weight:700;line-height:1.25}.hero-name-block>p:first-letter{color:#96c9ff}@media (max-width:760px){.hero-name-block{margin-bottom:25px}.hero-name-block>p{letter-spacing:.015em;font-size:clamp(20px,5.8vw,30px)}.hero-name-block>span{font-size:9px}}code,kbd,samp,pre,input,button,textarea,select{font-family:var(--font-body),sans-serif}.toolkit-section{padding-top:65px;padding-bottom:80px}.toolkit-section .orbital-toolkit{margin-top:0}.about{margin-bottom:0}@media (max-width:760px){.toolkit-section{padding-top:35px;padding-bottom:50px}}.section.about{border-radius:20px;max-width:1200px;padding:40px 32px}.about-grid{gap:40px}.about-grid .large-copy{font-size:20px}.about-grid p{margin-bottom:18px}.about>.eyebrow{margin-bottom:22px}@media (max-width:1300px) and (min-width:761px){.section.about{max-width:none;margin-inline:60px}}@media (max-width:760px){.section.about{border-radius:16px;margin-inline:6%;padding:28px 20px}.about-grid h2{margin-bottom:24px;font-size:32px}.about-grid .large-copy{font-size:18px}.about-grid p{margin-bottom:16px;font-size:14px}.about>.eyebrow{margin-bottom:20px}}.enhanced-header{background:#090e17e8;border-bottom-color:#77b9ff1b;transition:box-shadow .3s,background .3s;box-shadow:0 1px #ffffff03}.enhanced-header.scrolled{background:#0c111cf5;box-shadow:0 8px 30px #0005,0 1px #71b6ff10}.enhanced-header .nav{background:#ffffff03;border:1px solid #ffffff0d;border-radius:50px;gap:3px;padding:4px}.enhanced-header .nav>a{isolation:isolate;color:#b6bfc8;border-radius:30px;min-height:38px;padding:9px 13px;font-size:11px;line-height:1.4;transition:color .2s,background .2s;position:relative}.enhanced-header .nav>a:after{display:none}.enhanced-header .nav>a:hover{color:#fff;background:#ffffff05}.enhanced-header .nav>a.active{color:#e1f0ff}.nav-active-pill{z-index:-1;background:linear-gradient(130deg,#5dabff21,#6a91bb10);border:1px solid #6eb4ff44;border-radius:30px;position:absolute;inset:0;box-shadow:inset 0 1px 1px #c3e0ff0e,0 2px 10px #5dabff0a}.nav-label{position:relative}.enhanced-header .header-actions{gap:10px}.sound-toggle{color:#9ba3ab;background:#0e152377;border:1px solid #ffffff1c;border-radius:50px;justify-content:center;align-items:center;gap:9px;min-width:38px;min-height:38px;padding:8px;transition:color .2s,border-color .2s;display:inline-flex}.sound-toggle[aria-pressed=true]{color:#add5ff;background:#5dabff0a;border-color:#7cbbff5c}.sound-toggle:hover{color:#e1f0ff;border-color:#7cbbff8c}.header-sound>span,.nav-utilities{display:none}.enhanced-header .cv-link{padding-inline:17px;font-size:11px}.enhanced-header .monogram{transition:color .25s,filter .25s}.enhanced-header .monogram:hover{color:#d5e9ff;filter:drop-shadow(0 0 7px #67b0ff34)}@media (max-width:1100px){.enhanced-header .menu-toggle{color:#d3dae1;background:#0f1624;border:1px solid #ffffff21;border-radius:30px;order:2;align-items:center;gap:8px;min-height:40px;padding:9px 12px;font-size:11px;display:inline-flex}.enhanced-header .monogram{margin-right:auto}.enhanced-header .header-actions{order:1}.enhanced-header .header-sound,.enhanced-header .header-actions>.cv-link{display:none}.enhanced-header .nav{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#0e1522f5;border:1px solid #8dc4ff25;border-radius:19px;flex-direction:column;gap:5px;width:auto;max-height:calc(100svh - 105px);margin:0;padding:15px;display:none;position:absolute;top:calc(100% + 8px);left:6%;right:6%;overflow-y:auto;box-shadow:0 20px 60px #0009}.enhanced-header .nav.open{animation:.22s ease-out nav-panel-enter;display:flex}.enhanced-header .nav>a{justify-content:flex-start;min-height:46px;padding:12px 16px;font-size:13px}.enhanced-header .nav-utilities{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:10px;display:flex}.enhanced-header .nav-utilities .mobile-cv{border:0;gap:7px;min-height:42px;margin:0;padding:8px 4px;font-size:11px;display:inline-flex!important}.nav-sound{min-height:40px;padding-inline:12px;font-size:10px}.enhanced-header{gap:14px}}@keyframes nav-panel-enter{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.enhanced-header{gap:9px}.enhanced-header .menu-toggle{padding:9px 10px;font-size:10px}.enhanced-header .nav-utilities{flex-wrap:wrap}.enhanced-header .nav{left:6%;right:6%}}@media (prefers-reduced-motion:reduce){.enhanced-header,.enhanced-header .nav>a,.sound-toggle,.enhanced-header .monogram{transition:none}.enhanced-header .nav.open{animation:none}}html{scroll-padding-top:100px}#education,#tech-stack{scroll-margin-top:0}@media (max-width:760px){html{scroll-padding-top:94px}}.typing-title .typed-word:after{animation:none;display:none}.typed-glyph{vertical-align:baseline;display:inline-block}.typing-cursor{opacity:0;pointer-events:none;background:currentColor;border-radius:2px;width:2px;height:73%;position:absolute;top:15%;left:0;box-shadow:0 0 8px}.typing-title .typed-second .title-period{color:#f0f3f6}@media (prefers-reduced-motion:reduce){.typing-cursor{display:none}.typed-glyph{opacity:1;filter:none;transform:none}}.hero-portrait .particle-canvas{-webkit-mask-image:linear-gradient(#000 78%,#000c 87%,#0000 100%);mask-image:linear-gradient(#000 78%,#000c 87%,#0000 100%)}.hero-portrait .particle-fallback{-webkit-mask-image:linear-gradient(#000 58%,#000b 78%,#0000 100%);mask-image:linear-gradient(#000 58%,#000b 78%,#0000 100%)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}
:root{--bg:#080c13;--paper:#f0f3f6;--mint:#64afff;--line:#ffffff18;--muted:#a4aab1}body{color:var(--paper)}p{color:#b7bdc4}.section-heading h2{letter-spacing:-.05em;line-height:1.04}.section-heading{gap:32px;margin-bottom:42px}.section-heading>p{max-width:330px;font-size:14px;line-height:1.8}.eyebrow{color:#8ac3ff;letter-spacing:.18em}.enhanced-header{-webkit-backdrop-filter:blur(24px)saturate(135%);backdrop-filter:blur(24px)saturate(135%);background:#090e17cc;border-bottom:1px solid #ffffff12}.enhanced-header.scrolled{background:#0c121ddf;box-shadow:0 8px 32px #0004}.reference-hero{background:radial-gradient(at 76% 37%,#63aeff12,#0000 48%)}.hero-name-block>p{letter-spacing:.04em;text-shadow:0 2px 25px #79baff1a}.reference-hero .hero-copy>p{color:#bdc3ca;line-height:1.75}.hero-portrait:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#66b0ff14,#0000 66%);border-radius:50%;position:absolute;inset:13% 6% 3%}.portrait-note{opacity:.78}.hero-toolkit{background:linear-gradient(90deg,#0000,#ffffff03,#0000);border-color:#ffffff16}.button{border-radius:999px;min-height:46px;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}.button.primary{color:#06162b;background:linear-gradient(115deg,#47a0ff,#81beff);border-color:#8dc4ff;box-shadow:0 6px 24px #5dabff16,inset 0 1px #ffffff35}.button.primary:hover{background:linear-gradient(115deg,#60adff,#96c9ff);box-shadow:0 10px 30px #5dabff28}.text-link{border-color:#82beff4d;transition:color .2s,border-color .2s}.text-link:hover{color:#c0deff;border-color:#8ac3ff}.work .project{background:linear-gradient(145deg,#162135ba,#0c111ce8);border:1px solid #ffffff14;border-radius:24px;min-width:0;margin-bottom:32px;padding:22px;transition:border-color .3s,box-shadow .3s;box-shadow:0 16px 48px #0002}.work .project:hover{border-color:#8ac3ff40;box-shadow:0 20px 55px #0004}.project-index{letter-spacing:.1em;align-items:center;margin-bottom:18px;font-size:11px;display:flex}.project-index:before{content:"";background:#78b9ff;border-radius:50%;width:7px;height:7px;margin-right:10px;box-shadow:0 0 12px #78b9ff44}.project-image-link{background:#090e16;border:1px solid #ffffff12;border-radius:16px}.work .project-preview{background:radial-gradient(at 50% 70%,#233454,#101826 73%);height:clamp(340px,35vw,510px)}.project-preview img{padding:24px;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.project-image-link:hover .project-preview img{transform:translateY(-5px)}.project-arrow{color:#d0e7ff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e1521dc;border:1px solid #ffffff35;box-shadow:0 4px 20px #0004}.project-image-link:hover .project-arrow{color:#fff;background:#64afff;border-color:#9acbff;transform:translate(2px,-2px)}.project-info{gap:28px;padding:25px 4px 4px}.project-info h3{letter-spacing:-.035em;font-size:28px;font-weight:650}.project-info p{font-size:14px;line-height:1.8}.tags span{color:#c6cdd5;background:#ffffff03;border-color:#ffffff1d}.preview-name{overflow-wrap:anywhere;letter-spacing:-.045em;font-size:clamp(45px,8vw,110px)}.asset-note{color:#a3aab1;border-color:#ffffff18}.section.about{background:linear-gradient(125deg,#141e30d9,#0e1521be);border:1px solid #ffffff18;box-shadow:inset 0 1px #ffffff06,0 20px 50px #0002}.about-grid h2{letter-spacing:-.05em;line-height:1.12}.about-grid p{color:#b7bfc7;line-height:1.85}.about-grid .large-copy{color:#e9edf1;line-height:1.65}.orbital-toolkit{background:linear-gradient(140deg,#131d2fd9,#0c111ce8);border-color:#ffffff1b;box-shadow:inset 0 1px #ffffff08,0 20px 50px #0003}.toolkit-sidebar h2{letter-spacing:-.05em;line-height:1.1}.toolkit-planet{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 1px #ffffff20,0 8px 25px #0005}.toolkit-categories button{transition:background .25s,border-color .25s,color .25s}.toolkit-categories button:hover{color:#d6eaff;background:#64afff0b}.roadmap-card{background:linear-gradient(140deg,#172338d9,#0d1421e8);border-color:#ffffff20;box-shadow:inset 0 1px #ffffff0a,0 12px 28px #0003}.roadmap-card h3{letter-spacing:-.035em}.roadmap-description{color:#b7bfc7;line-height:1.85}.education-transparent .degree-card{background:linear-gradient(140deg,#172339bf,#0d1420e8);border-color:#ffffff25;box-shadow:inset 0 1px #ffffff0d,0 16px 36px #0003}.education-transparent .degree-card:before{opacity:.65;box-shadow:0 0 12px #64afff77}.degree-spotlight{background:linear-gradient(145deg,#64afff0c,#0d131f80);border-color:#78b9ff4d}.contact.section{background:radial-gradient(at 82% 85%,#64afff16,#0000 60%),linear-gradient(130deg,#131c2de8,#0c111ced);border-block:1px solid #ffffff18}.contact h2{letter-spacing:-.055em;line-height:1.05}.contact-bottom{gap:24px}.contact-bottom .button{overflow-wrap:anywhere;min-width:0;max-width:100%}.contact-bottom p{font-size:15px;line-height:1.8}.footer{color:#a1aab3;border-top:1px solid #ffffff0a}.circuit-background canvas{opacity:.52}.circuit-background .flow-shade{background:radial-gradient(at 34% 34%,#080c13dc,#0000 82%),linear-gradient(90deg,#080c1366,#0000 75%)}@media (max-width:760px){.section-heading{gap:20px;margin-bottom:30px}.section-heading>p{font-size:12px}.work .project{border-radius:20px;margin-bottom:24px;padding:14px}.work .project-preview{height:310px;padding:22px}.project-preview img{padding:16px}.project-image-link{border-radius:12px}.project-arrow{width:40px;height:40px;top:13px;right:13px}.project-info{gap:18px;padding:20px 2px 4px}.project-info h3{font-size:24px}.project-info p{font-size:13px}.project-index{letter-spacing:.04em;flex-wrap:wrap;row-gap:5px;font-size:9px}.contact-bottom{flex-direction:column;align-items:flex-start}.contact-bottom .button{gap:12px;padding:13px 18px;font-size:12px}.circuit-background canvas{opacity:.4}}@media (prefers-reduced-motion:reduce){.work .project,.project-preview img,.button,.text-link,.toolkit-categories button{transition:none}.project-image-link:hover .project-preview,.project-image-link:hover .project-preview img,.project-image-link:hover .project-arrow{transform:none}}.scroll-top{--scroll-progress:0;right:30px;bottom:max(28px,env(safe-area-inset-bottom));color:#f0f7ff;z-index:30;opacity:0;visibility:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#1f2f4d,#090d15 53%,#162136);border:1px solid #cfdae655;border-radius:50%;width:72px;height:72px;padding:0;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1),visibility .4s,box-shadow .3s;position:fixed;transform:translateY(24px)scale(.75);box-shadow:0 9px 28px #0009,inset 0 1px 2px #fff6,0 0 22px #64afff14}.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.scroll-top:after{content:"";filter:blur(14px);z-index:-1;pointer-events:none;background:#64afff33;border-radius:50%;position:absolute;inset:80% 13% -16%}.scroll-top-ring{fill:none;stroke-width:3.2px;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;inset:1px;overflow:visible;transform:rotate(-90deg)}.scroll-ring-track{stroke:#ffffff12;stroke-width:1px}.scroll-ring-progress{stroke:#81beff;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--scroll-progress));stroke-linecap:round;filter:drop-shadow(0 0 3px #64afff88)}.scroll-top-face{background:radial-gradient(circle at 38% 20%,#223352,#0b111b 67%);border:1px solid #fff2;border-radius:50%;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:10px;box-shadow:inset 0 1px 5px #ffffff0e,0 3px 8px #0007}.scroll-top-face svg{width:32px;height:32px;transition:transform .3s;transform:translateY(-3px)}.scroll-top-face>i{background:#82beff;border-radius:2px;width:12px;height:2px;position:absolute;bottom:10px;box-shadow:0 0 7px #64afff66}.scroll-top-orbit{pointer-events:none;border:1px solid #b3c5d92b;border-radius:50%;animation:12s linear infinite paused scroll-orbit;position:absolute;inset:-6px;transform:rotate(-38deg)}.scroll-top.is-visible .scroll-top-orbit{animation-play-state:running}.scroll-top-orbit i{background:#98caff;border-radius:50%;width:6px;height:6px;position:absolute;top:calc(50% - 3px);right:-3px;box-shadow:0 0 8px #64afff,0 0 15px #64afff77}@media (hover:hover){.scroll-top:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 12px 30px #0009,inset 0 1px 2px #fff6,0 0 28px #64afff33}.scroll-top:hover .scroll-top-face svg{transform:translateY(-6px)}}.scroll-top:active{transform:scale(.94)}@keyframes scroll-orbit{to{transform:rotate(322deg)}}@media (max-width:760px){.scroll-top{width:56px;height:56px;right:20px;bottom:max(20px,env(safe-area-inset-bottom))}.scroll-top-face{inset:8px}.scroll-top-face svg{width:26px;height:26px}.scroll-top-face>i{width:10px;bottom:7px}.scroll-top-orbit{inset:-5px}}@media (prefers-reduced-motion:reduce){.scroll-top,.scroll-top-face,.scroll-top-face svg{transition:none}.scroll-top-orbit{animation:none}.scroll-top.is-visible,.scroll-top:hover{transform:none}}.hero-portrait .particle-portrait{background:0 0;-webkit-mask-image:radial-gradient(closest-side,#000 48%,#000e 65%,#0006 83%,#0000 100%);mask-image:radial-gradient(closest-side,#000 48%,#000e 65%,#0006 83%,#0000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-portrait .portrait-orbits{-webkit-mask-image:radial-gradient(closest-side,#000 40%,#000b 62%,#0004 82%,#0000 100%);mask-image:radial-gradient(closest-side,#000 40%,#000b 62%,#0004 82%,#0000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-portrait:before{background:radial-gradient(at 50% 48%,#66b0ff10,#0000 66%);inset:0 -7% -5%}.hero-portrait .particle-fallback{-webkit-mask-image:radial-gradient(66% 69% at 50% 39%,#000 47%,#000b 66%,#0003 85%,#0000 100%);mask-image:radial-gradient(66% 69% at 50% 39%,#000 47%,#000b 66%,#0003 85%,#0000 100%)}.rotating-title{max-width:100%;display:grid;font-size:clamp(52px,5.9vw,102px)!important}.typing-phrase{visibility:hidden;grid-area:1/1;align-self:start;min-width:0}.typing-phrase.is-active{visibility:visible}@media (max-width:1100px) and (min-width:761px){.rotating-title{font-size:clamp(42px,5.5vw,65px)!important}}@media (max-width:760px){.rotating-title{font-size:clamp(38px,10.8vw,76px)!important}}.reference-hero .rotating-title .typed-first{color:#f0f3f6}.reference-hero .rotating-title .typed-second{color:#5dabff}.independent-technologies{gap:6px;margin-top:20px}.independent-details{border-top:1px solid #ffffff16;margin-top:22px;padding-top:14px}.independent-details summary{color:#c0deff;cursor:pointer;min-height:36px;padding:6px 0;font-size:12px}.independent-details ul{margin:12px 0 0;padding-left:18px;list-style:outside}.independent-details li{color:#bbc2c9;margin-bottom:10px;font-size:12px;line-height:1.85}.independent-milestone .roadmap-description{margin-top:16px}.independent-milestone h3{line-height:1.35}.toolkit-planets .toolkit-planet{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;perspective:650px;outline-offset:7px;background:0 0;border:0;padding:0}.satellite-float{width:100%;height:100%;animation:satellite-drift var(--float-duration) ease-in-out var(--float-delay) infinite}.satellite-shell{width:100%;height:100%;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));isolation:isolate;background:radial-gradient(circle at 25% 10%,#73b8ff26,#0000 60%),linear-gradient(145deg,#162b46f5,#080f1efa);border:1px solid #83bcff55;border-radius:30%;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:13px;transition:transform .3s ease-out,border-color .3s,box-shadow .3s;display:flex;position:relative;box-shadow:inset 0 1px 1px #d3ebff44,inset 0 -8px 22px #02081299,0 12px 28px #0006}.satellite-ring{pointer-events:none;animation:satellite-orbit 12s linear var(--float-delay) infinite;border:1px solid #6fb6ff26;border-radius:36%;position:absolute;inset:-6px}.satellite-ring:after{content:"";background:#b7e5ff;border-radius:50%;width:5px;height:5px;position:absolute;top:5%;left:17%;box-shadow:0 0 9px #58bcff,0 0 17px #58bcff77}.satellite-sheen{border-radius:inherit;pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.satellite-sheen:after{content:"";animation:satellite-sweep 8s ease-in-out var(--float-delay) infinite;background:linear-gradient(115deg,#0000 43%,#9bd6ff17 49%,#e2f5ff30 50%,#0000 57%);position:absolute;inset:-100%}.satellite-mark{filter:drop-shadow(0 3px 8px #0006);flex-shrink:0;place-items:center;width:45%;height:45%;transition:transform .4s;display:grid}.satellite-mark img,.satellite-mark svg{object-fit:contain;width:100%;height:100%;color:var(--planet-color)}.satellite-name{color:#e0efff;overflow-wrap:anywhere;font-size:clamp(9px,.85vw,12px);line-height:1.3;position:relative}.toolkit-planet:is(:hover,:focus-visible) .satellite-shell{border-color:#b1dfff;box-shadow:inset 0 1px 2px #e1f6ff66,0 0 25px #4ba5ff44,0 18px 35px #0007}.toolkit-planet:is(:hover,:focus-visible) .satellite-mark{transform:translateY(-3px)scale(1.12)}.toolkit-planet:is(:hover,:focus-visible) .satellite-float{animation-play-state:paused}.toolkit-inventory li{transition:transform .25s,border-color .25s,background .25s}.toolkit-inventory li:hover{background:#132b46;border-color:#7bbdff66;transform:translateY(-3px)}@keyframes satellite-drift{0%,to{transform:translateY(-4px)rotate(-2deg)}50%{transform:translateY(5px)rotate(2deg)}}@keyframes satellite-orbit{to{transform:rotate(360deg)}}@keyframes satellite-sweep{0%,35%{transform:translate(-65%)}65%,to{transform:translate(65%)}}.orbital-toolkit:is(.is-paused,[data-visible=false]) :is(.satellite-float,.satellite-ring),.orbital-toolkit:is(.is-paused,[data-visible=false]) .satellite-sheen:after{animation-play-state:paused}@media (max-width:760px){.satellite-shell{gap:5px;padding:8px}.satellite-name{font-size:8px}.satellite-ring{inset:-4px}.planet-6 .satellite-name,.planet-7 .satellite-name{font-size:6px}}@media (prefers-reduced-motion:reduce){.toolkit-planets .toolkit-planet,.satellite-float,.satellite-ring,.satellite-sheen:after{animation:none}.satellite-shell,.satellite-mark,.toolkit-inventory li{transition:none}.satellite-shell{transform:none}.satellite-sheen{display:none}.toolkit-planet:is(:hover,:focus-visible) .satellite-mark,.toolkit-inventory li:hover{transform:none}}.toolkit-network{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.network-track{stroke:#70b9ff;stroke-width:1px;opacity:.32;transition:opacity .3s,stroke .3s}.network-halo{stroke:#3e9dff;stroke-width:6px;opacity:.07;transition:opacity .3s}.network-port{fill:#b5e4ff;stroke:#57adff;stroke-width:.15px;opacity:.7}.network-link.is-highlighted .network-track{opacity:.9;stroke:#c7eeff}.network-link.is-highlighted .network-halo{opacity:.22}.toolkit-orbit-field{opacity:.6}.toolkit-core{z-index:2}@media (max-width:480px){.network-link-6,.network-link-7{display:none}.network-track{stroke-width:.8px}}@media (prefers-reduced-motion:reduce){.network-track,.network-halo{transition:none}}.particle-portrait[data-particle-state=loading] .particle-fallback{opacity:0;transition:none}.hero-portrait .particle-portrait:before{display:none}.hero-portrait .particle-portrait[data-particle-state=ready] .particle-canvas{animation:.7s ease-out both portrait-reveal}@keyframes portrait-reveal{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.hero-portrait .particle-portrait[data-particle-state=ready] .particle-canvas{animation:none}}.hero-portrait .particle-fallback,.hero-portrait .particle-portrait:is([data-particle-state=loading],[data-particle-state=fallback]){mix-blend-mode:screen}.reference-hero .hero-portrait:after{display:none}@media (max-width:760px){.site-header.enhanced-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.enhanced-header .monogram{grid-area:1/1;justify-self:start;margin-right:0}.enhanced-header .header-actions{grid-area:1/2;justify-self:center}.enhanced-header .menu-toggle{grid-area:1/3;justify-self:end}}
