@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&display=swap";@import "https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap";.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--background:#05080f;--secondary-background:oklab(13.9206% -.00138959 -.00959612/.5);--glass-background:#ffffff05;--text-primary:#f8fafc;--muted-text:#94a3b8;--muted-text-darker:#94a3b880;--border-color-neutral:oklab(100% 0 5.96046e-8/.05);--main-gradient:linear-gradient(to right, #00f0ff, #0f72e2);--muted-gradient:linear-gradient(to right, #fafafa 0%, #bdbdbd 45%, #383838 100%);--muted-gradient-reversed:linear-gradient(to right, #383838 0%, #bdbdbd 45%, #fafafa 100%);--muted-gradient-light:linear-gradient(to right, #fafafa 0%, #e0e0e0 45%, silver 70%, #969696 100%);--low-spacing:.25rem;--overlay-bg:linear-gradient(to top, #05080ff2 0%, #05080fe8 40%, #080e1cbf 65%, transparent 85%)}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;tab-size:4;scroll-behavior:smooth}body{background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans}a{color:var(--text-primary);text-decoration:none;transition:color .3s}a:hover{color:var(--muted-text)}.noise-bg{z-index:-1;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");height:100%;position:fixed;inset:0;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.text-center{text-align:center}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.text-accent{color:#57c9ea}.primary-text-bold-500{font-weight:500}.primary-text-light{font-family:Outfit;font-size:1.1rem;font-weight:200}.secondary-text-light{font-family:IBM Plex Sans;font-size:1.1rem;font-weight:300}.text-muted{color:var(--muted-text)}.section{padding-top:6rem;padding-bottom:6rem}.highlight-bar{width:calc(var(--low-spacing) * 8);background:var(--muted-gradient);height:1px;display:inline-block}.highlight-bar-reversed{width:calc(var(--low-spacing) * 8);background:linear-gradient(90deg,#bddfe7,#0000);height:1px;display:inline-block}.section-tag{letter-spacing:.25rem;text-transform:uppercase;align-items:center;gap:.3rem;font-family:monospace;font-size:calc(.6rem + .6vw);display:flex}@media only screen and (width>=1200px){.section-tag{font-size:.8rem}}.section-tag .highlight-bar{background:linear-gradient(90deg,#0000,#bddfe7)}.section-tag .gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#83dce6,#669bdf) text}.section-title{letter-spacing:-.055em;text-wrap:initial;max-width:7ch;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(2.35rem,4vw,3.1rem);font-weight:400;line-height:1.115}.section-title span{background:linear-gradient(105deg,#c3eaf0 5%,#79c1df 59%,#7e9dd1 100%);-webkit-text-fill-color:transparent;background-clip:text;width:fit-content;font-weight:400}fieldset{border:none}label{color:var(--muted-text)}input,textarea{resize:vertical;color:#fff;border:1px solid var(--border-color-neutral);background-color:var(--secondary-background);border-radius:.875rem;outline:1px solid #0000;width:100%;min-height:40px;padding:.75rem 1rem;font-family:Outfit;font-size:1rem;transition:outline .3s}input:focus,textarea:focus{outline:1px solid #3561c0b3}input::placeholder,textarea::placeholder{color:var(--muted-text-darker)}textarea{min-height:146px}button{cursor:pointer;color:#fff;border:none;font-family:Outfit;font-size:1rem}.btn-glass{backdrop-filter:blur(16px);border:1px solid var(--border-color-neutral);background:linear-gradient(#ffffff05 0%,#0077ff1f 100%);border-radius:1.5625rem;width:100%;min-width:200px;min-height:50px;transition:border .3s;box-shadow:inset 0 1px #ffffff09}.btn-glass:hover{border:1px solid #0077ff6c}.divider{background:linear-gradient(90deg,#0000 0%,#fafafa9d 50%,#0000 100%);border:none;height:1px}.ambient{pointer-events:none;z-index:0;background:radial-gradient(55rem 28rem at 78% 18%,#3b82f614,#0000 62%),radial-gradient(48rem 24rem at 12% 88%,#4cc9f00d,#0000 62%);position:fixed;inset:0}.signature-note{color:#7e919f;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:300}.grid-container{gap:var(--spacing-y) var(--spacing-x);--spacing-x:1rem;--spacing-y:1rem;--n-columns:12;flex-wrap:wrap;display:flex}.grid-container>*{width:100%}.col,[class*=col-]{flex:none}.col-auto{width:auto}.col-fill{flex:1 1 0;min-width:0}.g-0{--spacing-x:0rem;--spacing-y:0rem}.gx-0{--spacing-x:0rem}.gy-0{--spacing-y:0rem}.g-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-1{--spacing-x:.5rem}.gy-1{--spacing-y:.5rem}.g-2{--spacing-x:1rem;--spacing-y:1rem}.gx-2{--spacing-x:1rem}.gy-2{--spacing-y:1rem}.g-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-3{--spacing-x:1.5rem}.gy-3{--spacing-y:1.5rem}.g-4{--spacing-x:2rem;--spacing-y:2rem}.gx-4{--spacing-x:2rem}.gy-4{--spacing-y:2rem}.g-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-5{--spacing-x:2.5rem}.gy-5{--spacing-y:2.5rem}.g-6{--spacing-x:3rem;--spacing-y:3rem}.gx-6{--spacing-x:3rem}.gy-6{--spacing-y:3rem}.g-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-7{--spacing-x:3.5rem}.gy-7{--spacing-y:3.5rem}.g-8{--spacing-x:4rem;--spacing-y:4rem}.gx-8{--spacing-x:4rem}.gy-8{--spacing-y:4rem}.g-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-9{--spacing-x:4.5rem}.gy-9{--spacing-y:4.5rem}.g-10{--spacing-x:5rem;--spacing-y:5rem}.gx-10{--spacing-x:5rem}.gy-10{--spacing-y:5rem}@media (width>=320px){.g-xs-0{--spacing-x:0rem;--spacing-y:0rem}.gx-xs-0{--spacing-x:0rem}.gy-xs-0{--spacing-y:0rem}.g-xs-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-xs-1{--spacing-x:.5rem}.gy-xs-1{--spacing-y:.5rem}.g-xs-2{--spacing-x:1rem;--spacing-y:1rem}.gx-xs-2{--spacing-x:1rem}.gy-xs-2{--spacing-y:1rem}.g-xs-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-xs-3{--spacing-x:1.5rem}.gy-xs-3{--spacing-y:1.5rem}.g-xs-4{--spacing-x:2rem;--spacing-y:2rem}.gx-xs-4{--spacing-x:2rem}.gy-xs-4{--spacing-y:2rem}.g-xs-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-xs-5{--spacing-x:2.5rem}.gy-xs-5{--spacing-y:2.5rem}.g-xs-6{--spacing-x:3rem;--spacing-y:3rem}.gx-xs-6{--spacing-x:3rem}.gy-xs-6{--spacing-y:3rem}.g-xs-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-xs-7{--spacing-x:3.5rem}.gy-xs-7{--spacing-y:3.5rem}.g-xs-8{--spacing-x:4rem;--spacing-y:4rem}.gx-xs-8{--spacing-x:4rem}.gy-xs-8{--spacing-y:4rem}.g-xs-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-xs-9{--spacing-x:4.5rem}.gy-xs-9{--spacing-y:4.5rem}.g-xs-10{--spacing-x:5rem;--spacing-y:5rem}.gx-xs-10{--spacing-x:5rem}.gy-xs-10{--spacing-y:5rem}}@media (width>=576px){.g-sm-0{--spacing-x:0rem;--spacing-y:0rem}.gx-sm-0{--spacing-x:0rem}.gy-sm-0{--spacing-y:0rem}.g-sm-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-sm-1{--spacing-x:.5rem}.gy-sm-1{--spacing-y:.5rem}.g-sm-2{--spacing-x:1rem;--spacing-y:1rem}.gx-sm-2{--spacing-x:1rem}.gy-sm-2{--spacing-y:1rem}.g-sm-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-sm-3{--spacing-x:1.5rem}.gy-sm-3{--spacing-y:1.5rem}.g-sm-4{--spacing-x:2rem;--spacing-y:2rem}.gx-sm-4{--spacing-x:2rem}.gy-sm-4{--spacing-y:2rem}.g-sm-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-sm-5{--spacing-x:2.5rem}.gy-sm-5{--spacing-y:2.5rem}.g-sm-6{--spacing-x:3rem;--spacing-y:3rem}.gx-sm-6{--spacing-x:3rem}.gy-sm-6{--spacing-y:3rem}.g-sm-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-sm-7{--spacing-x:3.5rem}.gy-sm-7{--spacing-y:3.5rem}.g-sm-8{--spacing-x:4rem;--spacing-y:4rem}.gx-sm-8{--spacing-x:4rem}.gy-sm-8{--spacing-y:4rem}.g-sm-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-sm-9{--spacing-x:4.5rem}.gy-sm-9{--spacing-y:4.5rem}.g-sm-10{--spacing-x:5rem;--spacing-y:5rem}.gx-sm-10{--spacing-x:5rem}.gy-sm-10{--spacing-y:5rem}}@media (width>=768px){.g-md-0{--spacing-x:0rem;--spacing-y:0rem}.gx-md-0{--spacing-x:0rem}.gy-md-0{--spacing-y:0rem}.g-md-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-md-1{--spacing-x:.5rem}.gy-md-1{--spacing-y:.5rem}.g-md-2{--spacing-x:1rem;--spacing-y:1rem}.gx-md-2{--spacing-x:1rem}.gy-md-2{--spacing-y:1rem}.g-md-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-md-3{--spacing-x:1.5rem}.gy-md-3{--spacing-y:1.5rem}.g-md-4{--spacing-x:2rem;--spacing-y:2rem}.gx-md-4{--spacing-x:2rem}.gy-md-4{--spacing-y:2rem}.g-md-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-md-5{--spacing-x:2.5rem}.gy-md-5{--spacing-y:2.5rem}.g-md-6{--spacing-x:3rem;--spacing-y:3rem}.gx-md-6{--spacing-x:3rem}.gy-md-6{--spacing-y:3rem}.g-md-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-md-7{--spacing-x:3.5rem}.gy-md-7{--spacing-y:3.5rem}.g-md-8{--spacing-x:4rem;--spacing-y:4rem}.gx-md-8{--spacing-x:4rem}.gy-md-8{--spacing-y:4rem}.g-md-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-md-9{--spacing-x:4.5rem}.gy-md-9{--spacing-y:4.5rem}.g-md-10{--spacing-x:5rem;--spacing-y:5rem}.gx-md-10{--spacing-x:5rem}.gy-md-10{--spacing-y:5rem}}@media (width>=992px){.g-lg-0{--spacing-x:0rem;--spacing-y:0rem}.gx-lg-0{--spacing-x:0rem}.gy-lg-0{--spacing-y:0rem}.g-lg-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-lg-1{--spacing-x:.5rem}.gy-lg-1{--spacing-y:.5rem}.g-lg-2{--spacing-x:1rem;--spacing-y:1rem}.gx-lg-2{--spacing-x:1rem}.gy-lg-2{--spacing-y:1rem}.g-lg-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-lg-3{--spacing-x:1.5rem}.gy-lg-3{--spacing-y:1.5rem}.g-lg-4{--spacing-x:2rem;--spacing-y:2rem}.gx-lg-4{--spacing-x:2rem}.gy-lg-4{--spacing-y:2rem}.g-lg-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-lg-5{--spacing-x:2.5rem}.gy-lg-5{--spacing-y:2.5rem}.g-lg-6{--spacing-x:3rem;--spacing-y:3rem}.gx-lg-6{--spacing-x:3rem}.gy-lg-6{--spacing-y:3rem}.g-lg-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-lg-7{--spacing-x:3.5rem}.gy-lg-7{--spacing-y:3.5rem}.g-lg-8{--spacing-x:4rem;--spacing-y:4rem}.gx-lg-8{--spacing-x:4rem}.gy-lg-8{--spacing-y:4rem}.g-lg-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-lg-9{--spacing-x:4.5rem}.gy-lg-9{--spacing-y:4.5rem}.g-lg-10{--spacing-x:5rem;--spacing-y:5rem}.gx-lg-10{--spacing-x:5rem}.gy-lg-10{--spacing-y:5rem}}@media (width>=1200px){.g-xl-0{--spacing-x:0rem;--spacing-y:0rem}.gx-xl-0{--spacing-x:0rem}.gy-xl-0{--spacing-y:0rem}.g-xl-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-xl-1{--spacing-x:.5rem}.gy-xl-1{--spacing-y:.5rem}.g-xl-2{--spacing-x:1rem;--spacing-y:1rem}.gx-xl-2{--spacing-x:1rem}.gy-xl-2{--spacing-y:1rem}.g-xl-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-xl-3{--spacing-x:1.5rem}.gy-xl-3{--spacing-y:1.5rem}.g-xl-4{--spacing-x:2rem;--spacing-y:2rem}.gx-xl-4{--spacing-x:2rem}.gy-xl-4{--spacing-y:2rem}.g-xl-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-xl-5{--spacing-x:2.5rem}.gy-xl-5{--spacing-y:2.5rem}.g-xl-6{--spacing-x:3rem;--spacing-y:3rem}.gx-xl-6{--spacing-x:3rem}.gy-xl-6{--spacing-y:3rem}.g-xl-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-xl-7{--spacing-x:3.5rem}.gy-xl-7{--spacing-y:3.5rem}.g-xl-8{--spacing-x:4rem;--spacing-y:4rem}.gx-xl-8{--spacing-x:4rem}.gy-xl-8{--spacing-y:4rem}.g-xl-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-xl-9{--spacing-x:4.5rem}.gy-xl-9{--spacing-y:4.5rem}.g-xl-10{--spacing-x:5rem;--spacing-y:5rem}.gx-xl-10{--spacing-x:5rem}.gy-xl-10{--spacing-y:5rem}}@media (width>=1400px){.g-xxl-0{--spacing-x:0rem;--spacing-y:0rem}.gx-xxl-0{--spacing-x:0rem}.gy-xxl-0{--spacing-y:0rem}.g-xxl-1{--spacing-x:.5rem;--spacing-y:.5rem}.gx-xxl-1{--spacing-x:.5rem}.gy-xxl-1{--spacing-y:.5rem}.g-xxl-2{--spacing-x:1rem;--spacing-y:1rem}.gx-xxl-2{--spacing-x:1rem}.gy-xxl-2{--spacing-y:1rem}.g-xxl-3{--spacing-x:1.5rem;--spacing-y:1.5rem}.gx-xxl-3{--spacing-x:1.5rem}.gy-xxl-3{--spacing-y:1.5rem}.g-xxl-4{--spacing-x:2rem;--spacing-y:2rem}.gx-xxl-4{--spacing-x:2rem}.gy-xxl-4{--spacing-y:2rem}.g-xxl-5{--spacing-x:2.5rem;--spacing-y:2.5rem}.gx-xxl-5{--spacing-x:2.5rem}.gy-xxl-5{--spacing-y:2.5rem}.g-xxl-6{--spacing-x:3rem;--spacing-y:3rem}.gx-xxl-6{--spacing-x:3rem}.gy-xxl-6{--spacing-y:3rem}.g-xxl-7{--spacing-x:3.5rem;--spacing-y:3.5rem}.gx-xxl-7{--spacing-x:3.5rem}.gy-xxl-7{--spacing-y:3.5rem}.g-xxl-8{--spacing-x:4rem;--spacing-y:4rem}.gx-xxl-8{--spacing-x:4rem}.gy-xxl-8{--spacing-y:4rem}.g-xxl-9{--spacing-x:4.5rem;--spacing-y:4.5rem}.gx-xxl-9{--spacing-x:4.5rem}.gy-xxl-9{--spacing-y:4.5rem}.g-xxl-10{--spacing-x:5rem;--spacing-y:5rem}.gx-xxl-10{--spacing-x:5rem}.gy-xxl-10{--spacing-y:5rem}}.col-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}@media (width>=320px){.col-xs-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-xs-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-xs-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-xs-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-xs-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-xs-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-xs-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-xs-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-xs-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-xs-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-xs-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-xs-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}}@media (width>=576px){.col-sm-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-sm-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-sm-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-sm-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-sm-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-sm-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-sm-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-sm-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-sm-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-sm-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-sm-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-sm-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}}@media (width>=768px){.col-md-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-md-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-md-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-md-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-md-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-md-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-md-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-md-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-md-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-md-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-md-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-md-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}}@media (width>=992px){.col-lg-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-lg-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-lg-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-lg-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-lg-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-lg-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-lg-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-lg-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-lg-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-lg-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-lg-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-lg-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}}@media (width>=1200px){.col-xl-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-xl-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-xl-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-xl-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-xl-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-xl-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-xl-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-xl-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-xl-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-xl-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-xl-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-xl-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}}@media (width>=1400px){.col-xxl-1{width:calc(100% / var(--n-columns) - (var(--n-columns) - 1) * var(--spacing-x) / var(--n-columns))}.col-xxl-2{width:calc(200% / var(--n-columns) - (var(--n-columns) - 2) * var(--spacing-x) / var(--n-columns))}.col-xxl-3{width:calc(300% / var(--n-columns) - (var(--n-columns) - 3) * var(--spacing-x) / var(--n-columns))}.col-xxl-4{width:calc(400% / var(--n-columns) - (var(--n-columns) - 4) * var(--spacing-x) / var(--n-columns))}.col-xxl-5{width:calc(500% / var(--n-columns) - (var(--n-columns) - 5) * var(--spacing-x) / var(--n-columns))}.col-xxl-6{width:calc(600% / var(--n-columns) - (var(--n-columns) - 6) * var(--spacing-x) / var(--n-columns))}.col-xxl-7{width:calc(700% / var(--n-columns) - (var(--n-columns) - 7) * var(--spacing-x) / var(--n-columns))}.col-xxl-8{width:calc(800% / var(--n-columns) - (var(--n-columns) - 8) * var(--spacing-x) / var(--n-columns))}.col-xxl-9{width:calc(900% / var(--n-columns) - (var(--n-columns) - 9) * var(--spacing-x) / var(--n-columns))}.col-xxl-10{width:calc(1000% / var(--n-columns) - (var(--n-columns) - 10) * var(--spacing-x) / var(--n-columns))}.col-xxl-11{width:calc(1100% / var(--n-columns) - (var(--n-columns) - 11) * var(--spacing-x) / var(--n-columns))}.col-xxl-12{width:calc(1200% / var(--n-columns) - (var(--n-columns) - 12) * var(--spacing-x) / var(--n-columns))}}@media (width>=320px){.col-xs-auto{width:auto}.col-xs-fill{flex:1 1 0;min-width:0}}@media (width>=576px){.col-sm-auto{width:auto}.col-sm-fill{flex:1 1 0;min-width:0}}@media (width>=768px){.col-md-auto{width:auto}.col-md-fill{flex:1 1 0;min-width:0}}@media (width>=992px){.col-lg-auto{width:auto}.col-lg-fill{flex:1 1 0;min-width:0}}@media (width>=1200px){.col-xl-auto{width:auto}.col-xl-fill{flex:1 1 0;min-width:0}}@media (width>=1400px){.col-xxl-auto{width:auto}.col-xxl-fill{flex:1 1 0;min-width:0}}.container{--gutter:1rem;width:100%;padding-inline:var(--gutter);margin-inline:auto}@media (width>=640px){.container{max-width:640px;padding-inline:1.5rem}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px;padding-inline:2rem}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.container-fluid{--gutter:1rem;width:100%;padding-inline:var(--gutter)}@media (width>=640px){.container-fluid{padding-inline:1.5rem}}@media (width>=1024px){.container-fluid{padding-inline:2rem}}.container-prose{width:100%;max-width:65ch;padding-inline:var(--gutter);margin-inline:auto}.d-flex{display:flex}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-end{align-items:flex-end}.align-center{align-items:center}.header{z-index:2026;width:100%;padding:.5rem 0;position:fixed;top:0}@media only screen and (width<=575px){.header .header-content.container{padding:0}}@media only screen and (width<=767px){.header .header-content .container{padding-inline:.8rem}}.header .content-container{padding-block:.35rem;transition:padding .3s;position:relative}.header .content-container:before{content:"";z-index:-1;border:1px solid var(--border-color-neutral);background:var(--glass-background);backdrop-filter:blur(30px);opacity:0;pointer-events:none;border-radius:1rem;transition:opacity .3s;position:absolute;inset:0}.header .content-container.is-scrolled:before{opacity:1}.header .content-container.is-scrolled{padding-inline:.45rem}.header .content-container.is-scrolled .logo-container,.header .content-container.is-scrolled .navbar,.header .content-container.is-scrolled .burger-btn{backdrop-filter:none;background:0 0;border-color:#0000}.header .logo-container{border-radius:1rem;justify-content:center;align-items:center;width:50px;height:50px;padding:.625rem;transition:background .3s,border-color .3s;display:flex}.header .logo-container svg{width:100%;height:100%}@media only screen and (width<=767px){.header .navbar-container{display:none}}.header .navbar{border-radius:999px;gap:.5rem;padding:.4rem .8rem;transition:background .3s,border-color .3s;display:flex}@media only screen and (width<=767px){.header .navbar{display:none}}.header .navbar a{border-radius:999px;padding:.4rem .8rem;transition:color .25s,background .25s}.header .navbar a:hover:not(.active){color:#fff;background:color-mix(in srgb, currentColor 10%, transparent)}.header .navbar a.active{color:#05080f;background:#f2f6f8}.header .burger-btn-container{align-items:center;display:flex}@media only screen and (width>=768px){.header .burger-btn-container{display:none}}.header .mobile-nav-panel{z-index:-1;opacity:0;visibility:hidden;border:1px solid var(--border-color-neutral);background:var(--glass-background);backdrop-filter:blur(14px);border-radius:1rem;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden;transform:translateY(-8px)}@media only screen and (width>=768px){.header .mobile-nav-panel{display:none}}.header .mobile-nav-panel.is-open{opacity:1;visibility:visible;z-index:5;transform:translateY(0)}.header .mobile-nav{flex-direction:column;padding:.5rem;display:flex}@media only screen and (width>=768px){.header .mobile-nav{display:none}}.header .mobile-nav a{border-bottom:1px solid #0000;padding:.85rem 1rem;transition:color .2s,background .2s,border .2s}.header .mobile-nav a:not(:last-child){border-bottom:1px solid var(--border-color-neutral)}.header .mobile-nav a:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.header .mobile-nav .mobile-nav-cta{color:#05080f;background:#f2f6f8;border-bottom:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;font-weight:500;display:flex}.header .mobile-nav .mobile-nav-cta.active{color:#05080f}.header .mobile-nav .mobile-nav-cta svg{width:16px}.header .burger-btn{background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:35px;min-width:2rem;height:35px;min-height:2rem;transition:transform .3s;display:flex;position:relative;transform:rotate(45deg)}.header .burger-btn svg{width:22px}.header .burger-btn.is-open{transform:rotate(90deg)}@keyframes beam-breathe{50%{opacity:.68}0%,to{opacity:.55}}@keyframes beam-breathe-thin{50%{opacity:.25}0%,to{opacity:.17}}.hero{--core-x:50%;--core-y:50%;flex-direction:column;height:100dvh;min-height:600px;display:flex;position:relative}@media only screen and (width<=380px){.hero{min-height:800px}}.hero .hero-bg,.hero .hero-fg{pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.hero .hero-bg.is-hidden,.hero .hero-fg.is-hidden{opacity:0}.hero .hero-bg>*,.hero .hero-fg>*{position:absolute;inset:0}.hero .hero-bg{z-index:0}.hero .hero-fg{z-index:3}.hero .bg-base{background:radial-gradient(90% 60% at 50% 0,#0c1c2c 0%,#0c1c2c00 70%)}.hero .bg-beams{isolation:isolate;overflow:hidden}.hero .bg-beam-wrap{position:absolute;inset:0 0 15%;overflow:hidden;mask:linear-gradient(#0000 0%,#000 32% 68%,#0000 100%)}.hero .bg-beam{filter:blur(21px);mix-blend-mode:screen;opacity:.6;background:linear-gradient(90deg,#0000 30%,#2fa0e108 40%,#2fa0e117 45.5%,#5ac8fa38 50%,#2fa0e117 54.5%,#2fa0e108 60%,#0000 70%);position:absolute;inset:-60%;transform:rotate(-32deg)translate(-3%)}.hero .bg-beam--thin{opacity:.2;background:linear-gradient(90deg,#0000 47%,#aaebff1a 49%,#aaebff38 50%,#aaebff1a 51%,#0000 53%);transform:rotate(-32deg)translate(-1%)}.hero .bg-rings{background:repeating-radial-gradient(circle at var(--core-x) var(--core-y), #8cd6ff29 0 1px, transparent 1px 72px);-webkit-mask:radial-gradient(circle at var(--core-x) var(--core-y), transparent 0 13%, #000 20%, #0000008c 32%, transparent 50%);mask:radial-gradient(circle at var(--core-x) var(--core-y), transparent 0 13%, #000 20%, #0000008c 32%, transparent 50%);opacity:.5}.hero .glass-bg{z-index:2;backdrop-filter:blur(2px);clip-path:circle(150%);background:0 0;transition:backdrop-filter .5s,clip-path .5s;position:absolute;inset:0}.hero .glass-bg.is-hidden{backdrop-filter:blur();clip-path:circle(0%);pointer-events:none}.hero .plexus-sphere-container{z-index:0;position:absolute;inset:0}.hero .profile-info-container{z-index:3;flex:1;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:relative}@media only screen and (width>=576px){.hero .profile-info-container{padding-top:6rem;padding-bottom:6rem}}.hero .profile-info-container.is-hidden{pointer-events:none}.hero .profile-info-container.is-hidden .available-text,.hero .profile-info-container.is-hidden .profession-title,.hero .profile-info-container.is-hidden .main-title,.hero .profile-info-container.is-hidden .second-title,.hero .profile-info-container.is-hidden .skills-btn-link,.hero .profile-info-container.is-hidden .contact-btn-link{opacity:0}.hero .profile-info{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero .main-title{text-align:center;color:#f5f5f0;letter-spacing:-.04em;background:linear-gradient(#fff 0%,#f1f4f6 55%,#b9d7e6 100%);-webkit-text-fill-color:transparent;background-clip:text;max-width:19ch;margin-bottom:1.3rem;font-family:Space Grotesk;font-size:clamp(2.5rem,4.7vw,5.3rem);font-style:italic;font-weight:400;line-height:.97;transition:opacity .5s}.hero .main-title.animation-off{animation:none!important}.hero .second-title{color:#dbdbdb;text-wrap:balance;text-align:center;text-shadow:0 4px 4px #000000bf;max-width:770px;font-size:clamp(1.105rem,1.9vw,1.235rem);font-weight:400;transition:opacity .5s}.hero .available-text{backdrop-filter:blur(5px);background:var(--glass-background);text-align:center;border:1px solid var(--border-color-neutral);align-items:center;margin-bottom:1.5rem;padding:.5rem 1.125rem;transition:border-color .3s,transform .3s,box-shadow .3s,opacity .5s;display:flex}.hero .available-text:hover{color:#4ade80;border-color:#4ade80;transform:translateY(-1px);box-shadow:0 0 20px -5px #4ade8066}.hero .available-text .pulsing-dot{background-color:#4ade80;border-radius:50%;width:8px;height:8px;margin-right:8px;position:relative;box-shadow:0 0 6px 1px #4ade8099}.hero .available-text .pulsing-dot .ping{background-color:#4ade80;border-radius:50%;animation:1.8s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}.hero .available-text .text{font-size:clamp(.8125rem,.79rem + .09vw,.875rem);font-weight:500}@keyframes ping{0%{opacity:.7;transform:scale(1)}75%,to{opacity:0;transform:scale(2.8)}}.hero .profession-title{text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0 0 clamp(18px,2.4vh,26px);font-size:clamp(.885rem,.76rem + .288vw,1.3rem);font-weight:400;transition:opacity .5s;display:flex}.hero .profession-title .profession{color:#7fc6e6}.hero .profession-title .divider-dot{font-size:clamp(1rem,.9rem + .444vw,1.3rem);line-height:1}.hero .profession-title .number{color:#7fc6e6}.hero .name-description{font-weight:500}.hero .name-description .main-name{background:var(--main-gradient);-webkit-text-fill-color:transparent;background-clip:text}.hero .buttons{flex-wrap:wrap;justify-content:center;gap:.875rem;margin-top:2rem;display:flex}.hero .skills-btn-link{letter-spacing:.01em;text-shadow:0 4px 4px #0000004d;justify-content:center;align-items:center;gap:10px;min-width:162px;height:40px;padding:.5rem 1.3rem;font-size:15px;transition:transform .35s cubic-bezier(.22,.61,.36,1),opacity .5s;display:flex}.hero .skills-btn-link svg{width:16px;margin-top:2px;transition:transform .35s cubic-bezier(.22,.61,.36,1)}.hero .skills-btn-link:hover{color:#fff;transform:translate(2px)}.hero .skills-btn-link:hover svg{transform:translate(4px)}.hero .contact-btn-link{letter-spacing:.01em;backdrop-filter:blur(10px);text-shadow:0 4px 4px #0000004d;background:#f2f6f807;border:1px solid #f2f6f829;justify-content:center;align-items:center;gap:.5rem;min-width:162px;height:40px;min-height:auto;padding:.5rem 1.3rem;font-size:15px;transition:transform .35s cubic-bezier(.22,.61,.36,1),background-color .35s cubic-bezier(.22,.61,.36,1),border-color .35s cubic-bezier(.22,.61,.36,1),color .35s cubic-bezier(.22,.61,.36,1),opacity .5s;display:flex;position:relative}.hero .contact-btn-link:hover{color:#fff;background:#f2f6f812;border-color:#f2f6f838;transform:translateY(-2px)}.hero .contact-btn-link svg{width:16px}.hero .profile-name-container{z-index:3;width:100%;margin-top:2.5rem;margin-bottom:clamp(.5rem,.7rem + .5vw,.945rem);position:absolute;bottom:0}@media only screen and (width<=290px){.hero .profile-name-container{position:relative}}.hero .profile-name{justify-content:space-between;align-items:center;gap:clamp(.5rem,.4rem + 1vw,1.25rem)}.hero .profile-name-text{align-items:baseline;gap:10px;display:flex}.hero .jp-bracket{color:#57c9ea;text-shadow:0 0 10px #57c9ea73;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:300;line-height:1}.hero .jp-bracket--close{align-self:flex-start}.hero .name-stack{flex-direction:column;gap:4px;display:flex}.hero .name{letter-spacing:clamp(.25rem,.15rem + .5vw,.5rem);text-transform:uppercase;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#8fd6ff,#57c9ea) text;font-family:"'IBM Plex Sans'",sans-serif;font-size:clamp(.775rem,.6rem + .4vw,.875rem);font-weight:400}.hero .portfolio-text{letter-spacing:clamp(.15rem,.1rem + .3vw,.3rem);text-transform:uppercase;color:#6d7b88;font-size:clamp(.625rem,.55rem + .35vw,.8125rem);font-weight:400}@media only screen and (width<=575px){.hero .profile-name.grid-container{flex-wrap:wrap-reverse}}.hero .toggle-container{justify-content:center;align-items:center;display:flex}@media only screen and (width<=575px){.hero .toggle-container{width:100%;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}}.hero .button-label{margin-right:.8rem;font-size:12px;font-weight:300}.hero .visibility-toggle{backdrop-filter:blur(5px);background:var(--glass-background);border:1px solid var(--border-color-neutral);cursor:pointer;width:44px;height:44px;color:var(--text-primary);justify-content:center;align-items:center;transition:border-color .3s,transform .3s,box-shadow .3s,background .3s,color .3s;display:flex;position:relative}.hero .visibility-toggle .toggle-icon{fill:#0000;stroke:currentColor;width:20px;height:20px;transition:opacity .25s,transform .25s;position:absolute}.hero .visibility-toggle .icon-eye{opacity:1;transform:scale(1)rotate(0)}.hero .visibility-toggle .icon-eye-off{opacity:0;transform:scale(.6)rotate(-15deg)}.hero .visibility-toggle:hover{border-color:var(--accent-color,#38bdf8);color:var(--accent-color,#38bdf8);transform:translateY(-2px);box-shadow:0 0 20px -5px #38bdf866}.hero .visibility-toggle:active{transform:translateY(0)scale(.94)}.hero .visibility-toggle[aria-pressed=true]{border-color:var(--accent-color,#38bdf8);color:var(--accent-color,#38bdf8);background:#38bdf81f;box-shadow:0 0 16px -4px #38bdf880}.hero .visibility-toggle[aria-pressed=true] .icon-eye{opacity:0;transform:scale(.6)rotate(15deg)}.hero .visibility-toggle[aria-pressed=true] .icon-eye-off{opacity:1;transform:scale(1)rotate(0)}.hero .is-hidden,.hero.is-booting .visibility-toggle{pointer-events:none}.hero.is-booting .bg-beams,.hero.is-booting .fg-core{animation:1.8s cubic-bezier(.22,1,.36,1) 50ms both boot-reactor}.hero.is-booting .bg-rings{animation:1.6s cubic-bezier(.22,1,.36,1) .5s both boot-rings}.hero.is-booting .plexus-sphere-container{animation:1.7s ease-in-out 1s both boot-flicker-soft}.hero.is-booting .main-title{animation:1s cubic-bezier(.22,1,.36,1) .7s both boot-materialize}.hero.is-booting .available-text,.hero.is-booting .profession-title,.hero.is-booting .second-title,.hero.is-booting .skills-btn-link,.hero.is-booting .contact-btn-link{animation:1s cubic-bezier(.22,1,.36,1) 1.6s both boot-materialize}.hero.is-booting .profile-name-text{--curtain-shift:120px}.hero.is-booting .jp-bracket--open{--dir:1;animation:2s cubic-bezier(.76,0,.24,1) 1.6s both boot-curtain}.hero.is-booting .jp-bracket--close{--dir:-1;animation:2s cubic-bezier(.76,0,.24,1) 1.6s both boot-curtain}.hero.is-booting .name{animation:.9s cubic-bezier(.22,1,.36,1) 2.4s both boot-reveal}.hero.is-booting .portfolio-text{animation:.7s cubic-bezier(.22,1,.36,1) 2.6s both boot-fade}@media (prefers-reduced-motion:reduce){.hero.is-booting .bg-beams,.hero.is-booting .bg-beam,.hero.is-booting .bg-beam--thin,.hero.is-booting .bg-rings,.hero.is-booting .fg-core,.hero.is-booting .plexus-sphere-container,.hero.is-booting .available-text,.hero.is-booting .profession-title,.hero.is-booting .main-title,.hero.is-booting .second-title,.hero.is-booting .skills-btn-link,.hero.is-booting .contact-btn-link,.hero.is-booting .jp-bracket,.hero.is-booting .name,.hero.is-booting .portfolio-text{animation:none!important}}.hero.is-booted .visibility-toggle{pointer-events:auto}@keyframes boot-reactor{0%{opacity:0}15%{opacity:.3}30%{opacity:.12}70%,to{opacity:1}}@keyframes boot-rings{0%{opacity:0;transform:scale(.85)}to{opacity:.5;transform:scale(1)}}@keyframes boot-flicker-soft{0%{opacity:0}22%{opacity:.55}58%{opacity:.9}to{opacity:1}}@keyframes boot-materialize{0%{opacity:0;filter:blur(14px)brightness(1.6)}40%{opacity:.85;filter:blur(4px)brightness(1.35)}to{opacity:1;filter:blur()brightness()}}@keyframes boot-fade{0%{opacity:0}to{opacity:1}}@keyframes boot-curtain{0%{opacity:0;transform:translateX(calc(var(--dir) * var(--curtain-shift)))}12%{opacity:.75}19%{opacity:.4}28%{opacity:1;transform:translateX(calc(var(--dir) * var(--curtain-shift)))}70%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}@keyframes boot-reveal{0%{clip-path:inset(0 50%)}60%{clip-path:inset(0)}to{clip-path:inset(0)}}.projects{margin-top:6rem}@media only screen and (width>=768px){.projects .section-title{text-align:right}}.projects .projects-grid{flex-direction:column;gap:clamp(3rem,6vw,5rem);margin-top:2rem;display:flex}.skills{position:relative}.skills .glow-center{filter:blur(120px);z-index:0;background:oklab(76.4278% -.0886638 -.115661/.08);width:70%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skills .content{z-index:2;position:relative}.skills .section-title{margin-top:1rem;margin-bottom:2rem;margin-inline:auto}.skills .glass-card-muted{background:linear-gradient(135deg,#ffffff08 0%,#ffffff03 100%)}.skills .glass-card-muted .skills{flex-wrap:wrap}.skills .glass-card-muted .skills .skill{background:#ffffff1c;border-radius:3.40282e38px}.about .section-title{text-wrap:balance;margin-top:1rem}.about .about-description{text-wrap:balance;max-width:43ch;margin-top:1.5rem;font-family:Outfit;font-size:1.245rem}.about .signatures-footer{flex-wrap:wrap;gap:1.5rem;margin-top:2.7rem;display:flex}.about .muted-title{text-align:center}.about .about-principles{font-family:Outfit}.about .about-principles p.mb-1{margin-top:1rem}.about .principles-list{margin-top:1.5rem;padding:0;list-style:none}.about .principle-item{border-bottom:1px solid #ffffff14;align-items:flex-start;gap:1.25rem;padding:1.5rem 0;display:flex}.about .principle-item:first-child{padding-top:0}.about .principle-item:last-child{border-bottom:none}.about .principle-divider{background-color:var(--accent-color,#4fc3f7);flex-shrink:0;width:1.75rem;height:1px;margin-top:.7rem}.about .principle-content{flex-direction:column;gap:.4rem;display:flex}.about .principle-title{margin:0;font-size:1.05rem;font-weight:500}.about .principle-text{opacity:.7;text-wrap:balance;margin:0;font-size:.98rem;line-height:1.55}.contact .section-title{margin-top:1rem}.contact .section-description{opacity:.7;text-wrap:balance;margin-top:1.5rem;font-family:Outfit;font-size:1.1rem;font-weight:300}.contact .contact-email{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-top:2rem;display:flex}.contact .email-link{color:#f2f6f8;letter-spacing:.01em;padding-bottom:.35rem;font-family:Outfit;font-size:.95rem;font-weight:500;display:inline-block;position:relative}.contact .email-link:after{content:"";transform-origin:0;background:#f2f6f8;width:100%;height:1px;transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;transform:scaleX(.28)}.contact .email-link:hover:after,.contact .email-link:focus-visible:after{transform:scaleX(1)}.contact .btn-copy-email{color:#05080f;cursor:pointer;background:#f2f6f8;border:1px solid #0000;border-radius:1.5625rem;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:IBM Plex Sans;font-size:.85rem;transition:color .3s cubic-bezier(0,0,.2,1),background .3s cubic-bezier(0,0,.2,1),border-color .3s cubic-bezier(0,0,.2,1);display:inline-flex}.contact .btn-copy-email svg{flex-shrink:0}.contact .btn-copy-email:hover{color:#f2f6f8;background:0 0;border-color:#f2f6f8}.contact .btn-copy-email:disabled{opacity:.6;cursor:not-allowed}.contact .btn-copy-email:disabled:hover{color:#05080f;background:#f2f6f8;border-color:#0000}.contact .contact-form{background-color:var(--glass-background);border:1px solid var(--border-color-neutral);border-radius:1rem;margin-left:auto;padding:1rem}@media only screen and (width>=992px){.contact .contact-form{max-width:600px}}@media only screen and (width>=768px){.contact .contact-form{padding:2.5rem}}.contact .form-control-container{flex-direction:column;display:flex}.contact .form-control-container input,.contact .form-control-container textarea{margin-top:.325rem;transition:border-color .2s}.contact .form-control-container.has-error input,.contact .form-control-container.has-error textarea{border-color:#f87171}.contact .form-control-container.has-error input:focus,.contact .form-control-container.has-error input:focus-visible,.contact .form-control-container.has-error textarea:focus,.contact .form-control-container.has-error textarea:focus-visible{outline-color:#f87171}.contact .form-error{color:#f87171;opacity:0;min-height:1.1em;margin-top:.35rem;font-family:Outfit;font-size:.8rem;transition:opacity .2s,transform .2s;display:block;transform:translateY(-2px)}.contact .form-error:not(:empty){opacity:1;transform:translateY(0)}.contact .subject-input,.contact .message-input{margin-top:1.5rem}.contact .btn-submit{color:#05080f;background:#f2f6f8;border:1px solid #0000;border-radius:1.5625rem;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:50px;margin-top:3.5rem;font-family:IBM Plex Sans;transition:color .3s cubic-bezier(0,0,.2,1),background .3s cubic-bezier(0,0,.2,1),border-color .3s cubic-bezier(0,0,.2,1);display:inline-flex}.contact .btn-submit svg{flex-shrink:0;width:16px}.contact .btn-submit:hover{color:#f2f6f8;background:0 0;border-color:#f2f6f8}.contact .btn-submit:disabled{opacity:.6;cursor:not-allowed}.contact .btn-submit:disabled:hover{color:#05080f;background:#f2f6f8;border-color:#0000}.footer{position:relative}.footer .glow-container{z-index:1;position:absolute;inset:0;overflow:hidden}.footer .glow-bottom{filter:blur(100px);background:oklab(85.5916% -.131329 -.0650057/.35);border-radius:50%;width:90%;height:100px;position:absolute;bottom:0;left:50%;transform:translate(-50%)translateY(50%)}.footer .divider-container{z-index:1;position:absolute;inset:0}.footer .content{z-index:2;position:relative}.footer .footer-socials{justify-content:center;align-items:center;gap:2.1rem;margin-top:2rem;display:flex}.footer .footer-socials .icon-link{background:var(--glass-background);border:1px solid var(--border-color-neutral);width:55px;height:55px;color:var(--text-primary);justify-content:center;align-items:center;transition:border-color .3s,color .3s;display:flex}.footer .footer-socials .icon-link:hover{border-color:var(--accent-color,#38bdf8);color:var(--accent-color,#38bdf8)}.footer .footer-socials svg{width:25px}.footer .footer-logo-container{flex-direction:column;justify-content:center;align-items:center;margin-bottom:2.5rem;display:flex}.footer .bar{width:60px}.footer .footer-logo{align-items:center;gap:.5rem;margin-top:3.5rem;display:flex}.footer .footer-logo svg{width:45px}.footer .highlight-bar-reversed{background:linear-gradient(90deg,#0000,#bddfe7)}.footer .highlight-bar{background:linear-gradient(90deg,#bddfe7,#0000)}.footer .footer-text-container{flex-direction:column;align-items:center;display:flex}.footer .footer-signatures{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem;display:flex}.footer .footer-text{text-align:center;font-size:1.2rem;font-weight:300}.footer .footer-text .year{margin-top:.3rem;display:block}.footer .footer-profile-name{letter-spacing:-.4px;font-family:Space Grotesk}.not-found{align-items:center;min-height:100vh;padding-top:5rem;display:flex}.not-found .container{text-align:center;flex-direction:column;align-items:center;display:flex}.not-found .section-tag{justify-content:center}.not-found .not-found-code{letter-spacing:-.05em;background:linear-gradient(105deg,#c3eaf0 5%,#79c1df 59%,#7e9dd1 100%);-webkit-text-fill-color:transparent;background-clip:text;margin:1rem 0 0;font-family:Space Grotesk,sans-serif;font-size:clamp(7rem,22vw,13rem);font-weight:400;line-height:1}.not-found .not-found-title{letter-spacing:-.055em;text-wrap:balance;margin:.5rem 0 0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:400;line-height:1.115}.not-found .not-found-title span{background:linear-gradient(105deg,#c3eaf0 5%,#79c1df 59%,#7e9dd1 100%);-webkit-text-fill-color:transparent;background-clip:text}.not-found .not-found-description{max-width:45ch;color:var(--muted-text);text-wrap:balance;margin-top:1.25rem;font-family:Outfit;font-size:1.05rem;font-weight:300;line-height:1.65}.not-found .not-found-home-link{letter-spacing:.01em;text-shadow:0 4px 4px #0000004d;backdrop-filter:blur(10px);background:#f2f6f807;border:1px solid #f2f6f829;justify-content:center;align-items:center;gap:10px;height:40px;margin-top:2.5rem;padding:.5rem 1.3rem;font-size:15px;transition:transform .35s cubic-bezier(.22,.61,.36,1),background-color .35s cubic-bezier(.22,.61,.36,1),border-color .35s cubic-bezier(.22,.61,.36,1),color .35s cubic-bezier(.22,.61,.36,1);display:flex}.not-found .not-found-home-link svg{width:16px;transition:transform .35s cubic-bezier(.22,.61,.36,1)}.not-found .not-found-home-link:hover{color:#fff;background:#f2f6f812;border-color:#f2f6f838;transform:translate(2px)}.not-found .not-found-home-link:hover svg{transform:translate(4px)}.plexus-sphere-container{width:100%;height:100%;display:flex}.plexus-sphere-container #webgl-sphere-render{width:100%;height:100%}.glass-card{border-radius:1.3rem;display:flex;position:relative;overflow:hidden}.glass-card:hover .project-img{transform:scale(1.1)}.glass-card:hover .vertical-overlay{backdrop-filter:blur(3px);border:1px solid #3561c0b3;box-shadow:inset 0 0 60px #3561c066}.glass-card .project-img{object-fit:cover;border-radius:1.3rem;width:100%;transition:transform .4s}.glass-card .vertical-overlay{background:var(--overlay-bg);backdrop-filter:blur(6px);border:1px solid #fff3;border-radius:1.3rem;transition:box-shadow .4s,border .4s,backdrop-filter .4s;position:absolute;inset:0}.glass-card .content{z-index:3;width:100%;padding:1.4rem;position:absolute;bottom:0}.glass-card .content .description{opacity:.7;margin-top:.5rem;font-family:Outfit;line-height:22.75px}.glass-card .content .technologies{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.glass-card .content .technologies span{border:1px solid var(--border-color-neutral);backdrop-filter:blur(30px);background:#ffffff1c;border-radius:1rem;padding:.3rem .6rem;font-size:13px}.glass-card-muted{border:1px solid var(--border-color-neutral);border-radius:1rem;padding:2rem}.glass-card-muted .title{font-size:1.25rem;font-weight:600}.glass-card-muted .skills{gap:.8rem;margin-top:1.5rem;display:flex}.glass-card-muted .skill{border:1px solid var(--border-color-neutral);border-radius:1rem;padding:.5rem 1rem;font-family:Outfit}.project-card .project-img{border:1px solid var(--border-color-neutral);border-radius:1.3rem;width:100%;display:block}.project-card .project-img-container{border:1px solid var(--border-color-neutral);border-radius:1.3rem;transition:border-color .4s;display:block;position:relative;overflow:hidden}.project-card .project-img-container .project-img{border:none;border-radius:0;transition:transform .4s}.project-card .project-img-container .project-img-overlay{justify-content:flex-start;align-items:flex-end;padding:1.25rem;transition:box-shadow .4s;display:flex;position:absolute;inset:0}.project-card .project-img-container .project-img-overlay svg{width:1.5rem;height:1.5rem;color:var(--muted-text);opacity:0;filter:drop-shadow(0 2px 12px #05080f80);transition:opacity .4s}.project-card .project-img-container:hover,.project-card .project-img-container:focus-visible{border-color:#3561c0b3}.project-card .project-img-container:hover .project-img,.project-card .project-img-container:focus-visible .project-img{transform:scale(1.1)}.project-card .project-img-container:hover .project-img-overlay,.project-card .project-img-container:focus-visible .project-img-overlay{box-shadow:inset 0 0 60px #3561c066}.project-card .project-img-container:hover .project-img-overlay svg,.project-card .project-img-container:focus-visible .project-img-overlay svg{opacity:1}.project-card .project-img-container:focus-visible{outline-offset:2px;outline:1px solid #3561c0b3}.project-card .content{flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0;display:flex}.project-card .title{letter-spacing:-.01em;font-family:IBM Plex Sans;font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:600;line-height:1.25}.project-card .quote{background:linear-gradient(90deg,#57c9ea0f,#05080f00 85%);border-radius:4px;max-width:55ch;padding:.9rem 1.2rem}.project-card .description{color:var(--muted-text);font-family:Outfit;font-size:1rem;line-height:1.65}.project-card .technologies{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.project-card .technology{border:1px solid var(--border-color-neutral);backdrop-filter:blur(30px);background:#ffffff1c;border-radius:1rem;padding:.3rem .6rem;font-size:13px}.project-card .links{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.project-card .link{color:#05080f;background:#f2f6f8;border:1px solid #0000;border-radius:1.5625rem;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:IBM Plex Sans;font-size:.9rem;transition:color .3s cubic-bezier(0,0,.2,1),background .3s cubic-bezier(0,0,.2,1),border-color .3s cubic-bezier(0,0,.2,1);display:inline-flex}.project-card .link svg{flex-shrink:0;width:16px;height:16px}.project-card .link:hover{color:#f2f6f8;background:0 0;border-color:#f2f6f8}.toast{--toast-accent:#7dd3fc}.toast[data-type=success]{--toast-accent:#4ade80}.toast[data-type=error]{--toast-accent:#f87171}.toast{backdrop-filter:blur(8px);opacity:0;pointer-events:none;z-index:9999;color:#ffffffeb;background:#0a0a0cd9;border:1px solid #ffffff14;border-radius:10px;min-width:240px;max-width:360px;padding:14px 20px;font-size:.9rem;line-height:1.4;transition:transform .35s cubic-bezier(.16,1,.3,1),bottom .35s cubic-bezier(.16,1,.3,1),opacity .35s;position:fixed;bottom:0;right:24px;overflow:hidden;transform:translateY(100%);box-shadow:0 8px 24px #0006}.toast.active{opacity:1;pointer-events:auto;bottom:24px;transform:translateY(0)}.toast:before{content:"";background:var(--toast-accent);width:3px;position:absolute;top:0;bottom:0;left:0}@media (width<=480px){.toast{min-width:0;max-width:none;bottom:16px;left:16px;right:16px}}
