@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.threeui-mount,.terrain-plume-component,.text-path-study,.article-headings-component,.animated-top-dock-component,.typography-vortex-component,.mechanical-keyboard,.retro-metallic,.landscape-scene,.japanese-tower-landscape,.sakura-branch-scene,.isometric-motion-grid,.isometric-illustration,.tetrahedron-365,.liquid-metal-button,.iso-mail-lightshafts,.spark-badge,.hypnotic-loops,.at-the-horizon,.scalability-bricks,.threeui-background{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.mechanical-keyboard{isolation:isolate;background:#090a0c}.mechanical-keyboard__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#090a0c;opacity:0;transition:opacity .18s ease-out;touch-action:none}.mechanical-keyboard__frame.is-ready{opacity:1}.retro-metallic{isolation:isolate;background:#08090a}.retro-metallic__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#08090a;opacity:0;transition:opacity .18s ease-out;touch-action:none}.retro-metallic__frame.is-ready{opacity:1}.japanese-tower-landscape{isolation:isolate;background:#ecdcbc}.japanese-tower-landscape__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#ecdcbc;opacity:0;transition:opacity .18s ease-out}.japanese-tower-landscape__frame.is-ready{opacity:1}.landscape-scene{isolation:isolate;background:#ecdcbc}.landscape-scene__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#ecdcbc;opacity:0;transition:opacity .18s ease-out;touch-action:none}.landscape-scene__frame.is-ready{opacity:1}.sakura-branch-scene{isolation:isolate;background:#d4738a}.sakura-branch-scene__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#d4738a;opacity:0;transition:opacity .18s ease-out}.sakura-branch-scene__frame.is-ready{opacity:1}@media (prefers-reduced-motion: reduce){.sakura-branch-scene__frame{transition:none}}.isometric-motion-grid{isolation:isolate;background:#08090a}.isometric-motion-grid__stage{position:absolute;top:50%;left:50%;width:1200px;height:675px;transform-origin:50% 50%}.isometric-motion-grid__frame{display:block;width:100%;height:100%;border:0;background:#08090a;opacity:0;transition:opacity .18s ease-out}.isometric-motion-grid__frame.is-ready{opacity:1}.isometric-illustration{isolation:isolate;background:#111}.isometric-illustration__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#111;opacity:0;transition:opacity .18s ease-out}.isometric-illustration__frame.is-ready{opacity:1}.tetrahedron-365{isolation:isolate;background:#000}.tetrahedron-365__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.tetrahedron-365__frame.is-ready{opacity:1}@media (prefers-reduced-motion: reduce){.tetrahedron-365__frame{transition:none}}.liquid-metal-button{isolation:isolate;background:#070708}.liquid-metal-button__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#070708;opacity:0;transition:opacity .18s ease-out}.liquid-metal-button__frame.is-ready{opacity:1}@media (prefers-reduced-motion: reduce){.liquid-metal-button__frame{transition:none}}.iso-mail-lightshafts{isolation:isolate;background:#140f0b}.iso-mail-lightshafts__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#140f0b;opacity:0;transition:opacity .18s ease-out}.iso-mail-lightshafts__frame.is-ready{opacity:1}.spark-badge{isolation:isolate;background:#000}.spark-badge__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.spark-badge__frame.is-ready{opacity:1}.hypnotic-loops{isolation:isolate;background:#f15a24}.hypnotic-loops__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#f15a24;opacity:0}.hypnotic-loops__frame.is-ready{opacity:1}.at-the-horizon{isolation:isolate;background:#000}.at-the-horizon__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.at-the-horizon__frame.is-ready{opacity:1}.scalability-bricks{isolation:isolate;background:#0b0b0c}.scalability-bricks__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:#0b0b0c;opacity:0;transition:opacity .18s ease-out}.scalability-bricks__frame.is-ready{opacity:1}.text-path-study{isolation:isolate;background:#08090a}.text-path-study--light{background:#f3f5f8}.text-path-study-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:transparent;transform-origin:50% 50%}.threeui-background{position:relative;isolation:isolate;background:#030304}.threeui-background.condensation{background:transparent}.threeui-background.predictive-arc--light,.threeui-background.data-pixel-arc--light{background:#f3f6f1}.typography-vortex-component.typography-vortex-component--light{background:#eef1f6}.typography-vortex-component--light .typography-vortex-component__hint{color:#1c1e268c}.threeui-background>canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.cross-beam-canvas,.terrain-plume-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.terrain-plume-component{pointer-events:none}.terrain-plume-component{--fe-bg: #030304;--fe-band: clamp(260px, 52cqw, 820px);isolation:isolate;container-type:inline-size;background:linear-gradient(180deg,#050505,#020202 44%,#000)}.terrain-plume-component[data-terrain-scene=river]{--fe-bg: #03070a;background:linear-gradient(180deg,#05090d,#020507 44%,#000)}.terrain-plume-component[data-terrain-scene=desert]{--fe-bg: #0a0603;background:linear-gradient(180deg,#0d0805,#060302 44%,#000)}.terrain-plume-component[data-terrain-scene=bridge-city]{--fe-bg: #03050b;background:linear-gradient(180deg,#050810,#020407 44%,#000)}.terrain-plume-component[data-terrain-scene=river] .terrain-plume-canvas,.terrain-plume-component[data-terrain-scene=desert] .terrain-plume-canvas,.terrain-plume-component[data-terrain-scene=bridge-city] .terrain-plume-canvas{top:auto;bottom:calc(var(--fe-band) * .33)}.terrain-plume-component[data-terrain-scene=river]:after,.terrain-plume-component[data-terrain-scene=desert]:after,.terrain-plume-component[data-terrain-scene=bridge-city]:after{background:radial-gradient(circle at 50% 100%,rgba(255,255,255,.07),transparent 34%),linear-gradient(180deg,#0000000f,#0000004d 72%,#0000009e)}.terrain-plume-component:before,.terrain-plume-component:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;content:""}.terrain-plume-component:before{background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.05) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 11.5vw),repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5.8rem);opacity:.74}.terrain-plume-component:after{background:radial-gradient(circle at 50% 100%,rgba(255,255,255,.09),transparent 34%),linear-gradient(180deg,#0000001a,#0000009e 72%,#000000e6)}.terrain-plume-canvas{z-index:0}.footer-engraved-terrain{position:absolute;right:0;bottom:0;left:0;z-index:1;display:block;width:100%;height:var(--fe-band);pointer-events:none}.footer-engraved-reveal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:block;width:100%;height:100%;pointer-events:none}.footer-engraved-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");background-size:160px 160px}.sunset-valley-scene,.sunset-valley-canvas{display:block;width:100%;height:100%}.sunset-valley-scene{position:relative;overflow:hidden;background:#090d16}.sunset-valley-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.sunset-valley-canvas.is-ready{opacity:1}img.sunset-valley-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.temple-night-scene,.temple-night-canvas{display:block;width:100%;height:100%}.temple-night-scene{position:relative;overflow:hidden;background:#05070a}.temple-night-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.temple-night-canvas.is-ready{opacity:1}.temple-night-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:#a9b2b7;background:#05070a}.yosemite-sunset-scene,.yosemite-sunset-canvas{display:block;width:100%;height:100%}.yosemite-sunset-scene{position:relative;overflow:hidden;background:#241a26}.yosemite-sunset-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.yosemite-sunset-canvas.is-ready{opacity:1}.yosemite-sunset-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:#e0c3ab;background:#241a26}.presidio-sunset-scene,.presidio-sunset-canvas{display:block;width:100%;height:100%}.presidio-sunset-scene{position:relative;overflow:hidden;background:#2a1c22}.presidio-sunset-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.presidio-sunset-canvas.is-ready{opacity:1}.presidio-sunset-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:#e6c1ad;background:#2a1c22}.lake-louise-scene,.lake-louise-canvas{display:block;width:100%;height:100%}.lake-louise-scene{position:relative;overflow:hidden;background:#171d2c}.lake-louise-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.lake-louise-canvas.is-ready{opacity:1}.lake-louise-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:#b9c8d6;background:#171d2c}.bookshelf,.bookshelf__canvas,.sketchbook,.sketchbook__frame{display:block;width:100%;height:100%}.bookshelf{position:relative;container-type:inline-size;overflow:hidden;background:#171a24;outline:none}.bookshelf__canvas{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;touch-action:none}.bookshelf__canvas.is-ready{opacity:1}.bookshelf__source-controls{display:none}.bookshelf__unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;padding:24px;color:#f4eee6;text-align:center}.sketchbook{position:relative;overflow:hidden;background:#ece7dc}.sketchbook__frame{border:0;opacity:0;background:#ece7dc}.sketchbook__frame.is-ready{opacity:1}@font-face{font-family:ThreeUI Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/fragment-mono.woff2) format("woff2")}.article-headings-component,.animated-top-dock-component,.typography-vortex-component{container-type:inline-size;color:#ecece8;background:#0b0b0b;font-family:Geist,Helvetica Neue,Helvetica,Arial,sans-serif}.article-headings-component{display:grid;grid-template-rows:auto 1fr 1fr;padding:clamp(20px,5.4cqw,74px) clamp(20px,6.2cqw,86px);isolation:isolate}.article-headings-component:after,.animated-top-dock-component:after,.typography-vortex-component:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;content:"";opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.article-headings-component__header{display:flex;justify-content:space-between;padding-bottom:clamp(14px,2.6cqw,30px);color:#62625e;font:400 clamp(8px,.85cqw,10px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.12em}.article-headings-component__entry{display:grid;grid-template-columns:clamp(28px,4cqw,56px) minmax(0,1fr) auto;align-items:center;gap:clamp(10px,2.2cqw,30px);border-top:1px solid #2a2a28}.article-headings-component__entry h2{margin:0;color:#e9e9e5;font-size:clamp(18px,3.2cqw,44px);font-weight:600;line-height:1.08;letter-spacing:-.02em}.article-headings-component__index,.article-headings-component__meta{color:#60605c;font:400 clamp(8px,.85cqw,10px) / 1.3 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.06em}.article-headings-component__meta{text-align:right}.article-headings-component--light{color:#202128;background:#f3f5f8}.article-headings-component--light .article-headings-component__header,.article-headings-component--light .article-headings-component__index,.article-headings-component--light .article-headings-component__meta{color:#71737b}.article-headings-component--light .article-headings-component__entry{border-color:#d9dce3}.article-headings-component--light .article-headings-component__entry h2{color:#1d1f26}.typography-vortex-component{position:relative;isolation:isolate;touch-action:none;cursor:crosshair}.typography-vortex-component canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.typography-vortex-component__hint,.animated-top-dock-component__caption{position:absolute;z-index:6;color:#62625e;font:400 9px/1 ThreeUI Fragment Mono,ui-monospace,monospace;letter-spacing:.1em}.typography-vortex-component__hint{right:18px;bottom:16px}.animated-top-dock-component{position:relative;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.035),transparent 34%),#080808}.animated-top-dock__nav{position:absolute;top:clamp(24px,5cqw,46px);left:50%;z-index:10;display:flex;align-items:flex-start;gap:3px;height:38px;padding:4px;overflow:visible;border:1px solid #292929;border-radius:11px;background:#0e0e0edb;box-shadow:0 12px 34px #0000007a,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(18px) saturate(75%);backdrop-filter:blur(18px) saturate(75%);transform:translate(-50%);isolation:isolate}.animated-top-dock__item{position:relative;z-index:6;display:inline-flex;flex:none;align-items:center;justify-content:center;height:28px;min-width:0;padding:0;border:1px solid transparent;border-radius:7px;outline:none;color:#858580;background:#151514e6;font:400 10px/1 ThreeUI Fragment Mono,ui-monospace,monospace;letter-spacing:.1em;white-space:nowrap;-webkit-backdrop-filter:blur(14px) saturate(70%);backdrop-filter:blur(14px) saturate(70%);transform-origin:50% 0;transition:color .15s,border-color .18s,background .18s,box-shadow .18s;will-change:width,height,transform;cursor:pointer}.animated-top-dock__item[data-dock-near=true],.animated-top-dock__item:focus-visible{z-index:7;color:#ecece8;border-color:#41413e;background:#1b1b1af0;box-shadow:0 7px 16px #00000042}.animated-top-dock__logo{width:28px;height:28px;overflow:hidden;background:#e8e8e3}.animated-top-dock__logo svg{display:block;width:100%;height:100%}.animated-top-dock__link{gap:6px;width:94px;padding:0 9px}.animated-top-dock__link[aria-pressed=true]{color:#111;border-color:#e8e8e3;background:#e8e8e3;box-shadow:0 7px 18px #00000047}.animated-top-dock__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:13px;height:13px;opacity:.62;transition:opacity .16s}.animated-top-dock__icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.animated-top-dock__item[data-dock-near=true] .animated-top-dock__icon,.animated-top-dock__item:focus-visible .animated-top-dock__icon{opacity:1}.animated-top-dock-component__caption{right:18px;bottom:16px}@media (max-width: 600px){.article-headings-component{padding:18px}.article-headings-component__entry{grid-template-columns:24px minmax(0,1fr)}.article-headings-component__entry h2{font-size:clamp(17px,5.5vw,26px)}.article-headings-component__meta{display:none}.animated-top-dock__nav{top:24px;gap:2px;height:36px}.animated-top-dock__item{height:26px!important;transform:none!important}.animated-top-dock__logo{width:26px!important;height:26px!important}.animated-top-dock__link{width:auto!important;padding:0 7px;font-size:8px;letter-spacing:.07em}.animated-top-dock__icon{display:none}}@media (prefers-reduced-motion: reduce){.animated-top-dock__item{transform:none!important}}.animated-top-dock-component.atd-modern,.animated-top-dock-component.atd-retro,.animated-top-dock-component.atd-glass{--atd-top: clamp(16px, 2.6cqw, 46px);--atd-bar-width: min(1460px, calc(100% - clamp(24px, 4.2cqw, 96px)) );--atd-bar-height: clamp(48px, 3.4cqw, 68px);--atd-bar-pad: clamp(5px, .42cqw, 9px);--atd-bar-lead: clamp(14px, 1.15cqw, 25px);--atd-item-height: clamp(30px, 2.2cqw, 44px);--atd-item-pad: clamp(10px, .86cqw, 18px);--atd-label: clamp(12px, .78cqw, 17px);--atd-icon: clamp(13px, .92cqw, 19px);--atd-gap: clamp(5px, .44cqw, 9px);--atd-brand: clamp(13px, .94cqw, 20px);--atd-mark: clamp(22px, 1.55cqw, 33px);--atd-action-height: clamp(34px, 2.5cqw, 50px);display:block;overflow:hidden}.atd-modern__bar,.atd-retro__bar{position:absolute;top:var(--atd-top);left:50%;z-index:10;display:flex;align-items:center;justify-content:space-between;width:var(--atd-bar-width);height:var(--atd-bar-height);transform:translate(-50%)}.atd-modern__bar{width:max-content;max-width:var(--atd-bar-width);padding:var(--atd-bar-pad) var(--atd-bar-pad) var(--atd-bar-pad) var(--atd-bar-lead)}.atd-modern__dock{display:flex;flex:none;gap:clamp(2px,.2cqw,5px);align-items:flex-start;justify-content:center;height:var(--atd-item-height)}.atd-modern__item,.atd-retro__item,.atd-glass__item{display:inline-flex;flex:none;gap:var(--atd-gap);align-items:center;justify-content:center;height:var(--atd-item-height);padding:0 var(--atd-item-pad);outline:none;white-space:nowrap;transform-origin:50% 0;will-change:width,height,transform;cursor:pointer}.atd-modern__brand,.atd-glass__brand,.atd-retro__brand{display:inline-flex;flex:none;gap:clamp(7px,.6cqw,13px);align-items:center;text-decoration:none}.atd-modern__mark,.atd-glass__mark{display:block;width:var(--atd-mark);height:var(--atd-mark);overflow:hidden}.atd-modern__mark svg,.atd-glass__mark svg{display:block;width:100%;height:100%}.atd-modern__word,.atd-glass__word{font-size:var(--atd-brand);font-weight:600;letter-spacing:-.018em}.atd-modern__actions{display:inline-flex;flex:none;gap:clamp(4px,.34cqw,8px);align-items:center}.atd-modern__ghost{height:var(--atd-action-height);padding:0 clamp(12px,.95cqw,20px);border:0;border-radius:999px;background:transparent;font:500 var(--atd-label) / 1 inherit;transition:color .16s,background .16s;cursor:pointer}.atd-modern__cta,.atd-glass__cta{height:var(--atd-action-height);border-radius:999px;font:600 var(--atd-label) / 1 inherit;letter-spacing:-.01em;white-space:nowrap;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s;cursor:pointer}.animated-top-dock-component.atd-modern{--atd-bar-width: min(1240px, calc(100% - clamp(24px, 5cqw, 120px)) );background:#07080c}.atd-modern__aurora{position:absolute;inset:-24% -12% auto -12%;z-index:1;height:82%;pointer-events:none;background:radial-gradient(58% 62% at 22% 36%,rgba(78,116,255,.4),transparent 68%),radial-gradient(46% 56% at 78% 20%,rgba(186,96,255,.3),transparent 70%),radial-gradient(40% 48% at 52% 6%,rgba(56,220,214,.2),transparent 72%),radial-gradient(34% 40% at 50% 14%,rgba(255,255,255,.07),transparent 76%);filter:blur(8px)}.atd-modern__bar{gap:clamp(14px,2.4cqw,40px);border:1px solid rgba(255,255,255,.045);border-radius:999px;background:linear-gradient(180deg,#191b24db,#0c0d12d1);box-shadow:0 22px 52px -24px #000000eb,inset 0 1px #ffffff0b;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}.atd-modern__brand{color:#f2f3f7}.atd-modern__mark{border-radius:50%;box-shadow:0 2px 8px #0000006b}.atd-modern__item{border:1px solid transparent;border-radius:999px;color:#9b9fae;background:transparent;font:500 var(--atd-label) / 1 inherit;letter-spacing:-.005em;transition:color .16s,border-color .18s,background .18s,box-shadow .18s,backdrop-filter .18s}.atd-modern__item[data-dock-near=true],.atd-modern__item:hover,.atd-modern__item:focus-visible{color:#f4f5f9;border-color:#ffffff0e;background:#ffffff0e;box-shadow:0 8px 20px -14px #000000e6,inset 0 1px #ffffff0d;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%)}.atd-modern__item[aria-pressed=true]{color:#0a0b10;border-color:transparent;background:linear-gradient(180deg,#fff,#dfe3ef);box-shadow:0 10px 24px -12px #7896ffbf,inset 0 -1px #00000024}.atd-modern__icon,.atd-glass__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--atd-icon);height:var(--atd-icon);opacity:.72;transition:opacity .16s}.atd-modern__icon svg,.atd-glass__icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.atd-modern__item[data-dock-near=true] .atd-modern__icon,.atd-modern__item[aria-pressed=true] .atd-modern__icon,.atd-glass__item[data-dock-near=true] .atd-glass__icon,.atd-glass__item[aria-pressed=true] .atd-glass__icon{opacity:1}.atd-modern__ghost{color:#a7abba}.atd-modern__ghost:hover{color:#f0f1f6;background:#ffffff0f}.atd-modern__cta{display:inline-flex;gap:var(--atd-gap);align-items:center;padding:0 var(--atd-bar-pad) 0 clamp(14px,1.1cqw,24px);border:0;color:#0a0b10;background:linear-gradient(180deg,#fff,#d8ddec);box-shadow:0 10px 26px -14px #96affff2,inset 0 -1px #00000029}.atd-modern__cta svg{box-sizing:border-box;width:calc(var(--atd-action-height) - clamp(12px,.9cqw,20px));height:calc(var(--atd-action-height) - clamp(12px,.9cqw,20px));padding:clamp(4px,.3cqw,7px);border-radius:999px;background:#0a0b101a;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.atd-modern__cta:hover{box-shadow:0 16px 32px -14px #96afff,inset 0 -1px #00000029;transform:translateY(-1px)}.atd-modern__stage{position:absolute;top:58%;left:50%;z-index:4;width:min(88cqw,1120px);text-align:center;pointer-events:none;transform:translate(-50%,-50%)}.atd-modern__eyebrow{margin:0 0 clamp(8px,.9cqw,18px);color:#7d84a0;font:400 clamp(8px,.62cqw,13px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase}.atd-modern__headline{margin:0;padding:.08em 0 .14em;color:transparent;background:linear-gradient(180deg,#fff 16%,#ffffff4d);background-clip:text;-webkit-background-clip:text;font-size:clamp(30px,7.6cqw,150px);font-weight:400;line-height:1.04;letter-spacing:-.03em;text-wrap:balance}.animated-top-dock-component.atd-retro{--atd-label: clamp(9px, .68cqw, 15px);--atd-icon: clamp(10px, .78cqw, 17px);--atd-brand: clamp(11px, .8cqw, 18px);background:#0b0819}.atd-retro__field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%;image-rendering:pixelated}.atd-retro__vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(124% 90% at 50% 34%,transparent 28%,rgba(6,4,16,.62) 100%),linear-gradient(180deg,rgba(6,4,16,.6) 0%,transparent 24%,transparent 62%,rgba(6,4,16,.58) 100%)}.atd-retro:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:11;pointer-events:none;content:"";opacity:calc(var(--atd-retro-scan, .32) * 1.5);background:repeating-linear-gradient(180deg,rgba(0,0,0,.42) 0 1px,transparent 1px 3px)}.atd-retro__bar{gap:0;padding:0;overflow:hidden;border:2px solid #f4e6c8;background:#1a1030;box-shadow:6px 6px #0604109e}.atd-retro__brand{height:100%;padding:0 clamp(12px,1.1cqw,26px);border-right:2px solid #4b2f7e;color:#f9c74f;background:#150c28;font:400 var(--atd-brand) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.12em}.atd-retro__dock{display:flex;flex:1 1 0;gap:0;align-items:stretch;min-width:0;height:100%}.atd-retro__badge{display:inline-flex;width:var(--atd-icon);height:var(--atd-icon)}.atd-retro__badge svg,.atd-retro__icon svg{display:block;width:100%;height:100%;fill:currentColor;shape-rendering:crispEdges}.atd-retro__item{height:100%;min-width:0;padding:0 clamp(6px,.5cqw,12px);overflow:hidden;border:0;border-right:2px solid #4b2f7e;color:#b9a7e8;background:#241548;font:400 var(--atd-label) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.14em;transition:color .1s steps(2),background .1s steps(2)}.atd-retro__item[data-dock-near=true],.atd-retro__item:focus-visible{color:#fff4d6;background:#3a2170}.atd-retro__item[aria-pressed=true]{color:#1a1030;background:#f9c74f}.atd-retro__icon{display:inline-flex;flex:none;width:var(--atd-icon);height:var(--atd-icon)}.atd-retro__cta{display:inline-flex;flex:none;gap:var(--atd-gap);align-items:center;height:100%;padding:0 clamp(14px,1.2cqw,28px);border:0;border-left:2px solid #f4e6c8;color:#1a1030;background:#f47b5c;font:400 var(--atd-label) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.16em;transition:background .1s steps(2),color .1s steps(2);cursor:pointer}.atd-retro__cta:hover{color:#1a1030;background:#f9c74f}.atd-retro__readout{position:absolute;bottom:clamp(30px,4.2cqw,74px);left:50%;z-index:8;display:flex;gap:clamp(12px,2.4cqw,42px);margin:0;color:#a08fd4;font:400 clamp(9px,.62cqw,13px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.2em;transform:translate(-50%)}.animated-top-dock-component.atd-glass{--atd-rail-width: clamp(158px, 12.5cqw, 250px);background:#08090d}.atd-glass__field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%}.atd-glass:before{position:absolute;inset:0 auto 0 0;z-index:5;width:42%;pointer-events:none;content:"";background:linear-gradient(90deg,#06070ba8,#06070b00)}.atd-glass__rail{position:absolute;top:50%;left:clamp(20px,3.4cqw,68px);z-index:10;display:flex;flex-direction:column;gap:clamp(6px,.5cqw,11px);align-items:stretch;width:var(--atd-rail-width);padding:var(--atd-bar-pad);border-radius:clamp(20px,1.7cqw,34px);background:linear-gradient(160deg,#ffffff26,#ffffff0d);box-shadow:0 30px 64px -26px #000000eb,inset 0 1px #ffffff70,inset 0 -1px #ffffff1f,inset 0 0 0 1px #ffffff24;backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);transform:translateY(-50%)}.atd-glass__rail:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";border-radius:inherit;background:linear-gradient(168deg,#ffffff38,#fff0 30%,#fff0 76%,#ffffff24)}.atd-glass__brand{position:relative;padding:clamp(6px,.5cqw,12px) clamp(8px,.7cqw,15px);color:#fbfbfe}.atd-glass__mark{border-radius:clamp(7px,.5cqw,11px);box-shadow:0 3px 10px #0000006b,inset 0 0 0 1px #ffffff4d}.atd-glass__hairline{height:1px;margin:clamp(2px,.2cqw,5px) clamp(6px,.5cqw,12px);background:linear-gradient(90deg,#ffffff0a,#ffffff42,#ffffff0a)}.atd-glass__dock{position:relative;display:flex;flex-direction:column;gap:clamp(2px,.2cqw,5px);align-items:stretch}.atd-glass__item{justify-content:flex-start;width:100%;border:1px solid transparent;border-radius:clamp(12px,1cqw,22px);color:#ffffffa8;background:transparent;font:500 var(--atd-label) / 1 inherit;letter-spacing:-.005em;transform-origin:0 50%;transition:color .18s,border-color .2s,background .2s,box-shadow .2s}.atd-glass__item[data-dock-near=true],.atd-glass__item:focus-visible{color:#fff;border-color:#ffffff3d;background:linear-gradient(180deg,#ffffff38,#ffffff12);box-shadow:inset 0 1px #ffffff75,0 8px 18px -10px #000c}.atd-glass__item[aria-pressed=true]{color:#0d0f16;border-color:#fff9;background:linear-gradient(180deg,#fff,#e6e9f4);box-shadow:0 10px 24px -12px #ffffff80,inset 0 -1px #00000024}.atd-glass__cta{display:inline-flex;gap:var(--atd-gap);align-items:center;justify-content:space-between;width:100%;padding:0 clamp(12px,1cqw,22px);border:1px solid rgba(255,255,255,.55);color:#0d0f16;background:linear-gradient(180deg,#fff,#dfe3f0);box-shadow:0 12px 30px -14px #fff9,inset 0 -1px #00000029}.atd-glass__cta svg{width:var(--atd-icon);height:var(--atd-icon);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.atd-glass__cta:hover{box-shadow:0 16px 34px -14px #ffffffbf,inset 0 -1px #00000029;transform:translateY(-1px)}.atd-modern .animated-top-dock-component__caption,.atd-glass .animated-top-dock-component__caption{color:#ffffff57}.atd-retro .animated-top-dock-component__caption{z-index:12;color:#7b6ab0}@container (max-width: 900px){.atd-modern__ghost{display:none}.atd-modern__item span:last-child,.atd-retro__item span:last-child{display:none}.atd-modern__cta span{display:none}.atd-modern__cta{padding:0 var(--atd-bar-pad)}.animated-top-dock-component.atd-glass{--atd-rail-width: auto}.atd-glass__item{justify-content:center}.atd-glass__item span:last-child,.atd-glass__word,.atd-glass__cta span{display:none}.atd-glass__cta{justify-content:center}}@media (max-width: 600px){.atd-modern__word{display:none}.atd-modern__item{height:28px!important;transform:none!important}.atd-glass__item{height:auto!important;transform:none!important}.atd-retro__item{height:100%!important;transform:none!important}.atd-modern__stage{top:62%}.atd-retro__readout{display:none}}@media (prefers-reduced-motion: reduce){.atd-modern__item,.atd-retro__item,.atd-glass__item{transform:none!important}}.stroke-text{display:block;width:100%;line-height:0}.stroke-text--hover{cursor:pointer}.stroke-text__svg{display:block;width:100%;height:var(--stroke-text-height, 160px)}.stroke-text__stroke,.stroke-text__fill{-webkit-user-select:none;user-select:none}.animate-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;width:min(920px,100%);margin:0 auto;transform:rotateX(var(--grid-rotate-x)) rotateY(var(--grid-rotate-y));transform-style:preserve-3d}.animate-grid-card{position:relative;aspect-ratio:1;overflow:hidden;padding:0;border:1px solid rgba(235,239,225,.3);border-radius:4px;background:linear-gradient(145deg,#485247,#333b32);cursor:pointer;box-shadow:0 12px 24px #0f120f38,inset 0 1px #ffffff14;transform:translateZ(0);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}.animate-grid-card:hover,.animate-grid-card:focus-visible,.animate-grid-card--active{z-index:2;transform:translateY(-9px) translateZ(22px) scale(1.035);border-color:#ebefe1b8;box-shadow:0 20px 35px #0f120f6b,0 0 24px #38ef7d38;outline:none}.animate-grid-card-image,.animate-grid-card-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.animate-grid-card-image{object-fit:contain;width:80%;height:80%;margin:auto;filter:saturate(1.08) brightness(1.14) contrast(1.06);transition:transform .5s ease,filter .5s ease}.animate-grid-card:hover .animate-grid-card-image,.animate-grid-card:focus-visible .animate-grid-card-image{transform:scale(1.08);filter:saturate(1) contrast(1.08)}.animate-grid-card-shade{background:linear-gradient(180deg,#14181403,#1418147a)}.animate-grid-card-name{position:absolute;left:2px;right:2px;bottom:5px;color:#f2f4ed;font:600 8.5px/1.15 Lexend,Trebuchet MS,sans-serif;letter-spacing:.03em;text-align:center;opacity:0;transform:translateY(3px);transition:opacity .18s ease,transform .18s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animate-grid-card:hover .animate-grid-card-name,.animate-grid-card:focus-visible .animate-grid-card-name{opacity:1;transform:translateY(0)}@media (max-width: 620px){.animate-grid{grid-template-columns:repeat(4,minmax(0,1fr));transform:none}}@media (min-width: 621px) and (max-width: 900px){.animate-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.cert-expandable{width:100%}.cert-gallery-row{display:flex;gap:10px;height:320px;width:100%}.cert-gallery-item{position:relative;cursor:pointer;overflow:hidden;border-radius:16px;box-shadow:0 8px 32px #0000001f}.cert-gallery-img{width:100%;height:100%;object-fit:cover;display:block}.cert-gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:20px 16px;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 60%);pointer-events:none;gap:4px}.cert-gallery-name{color:#fff;font-family:Inter,sans-serif;font-size:13px;font-weight:700;text-align:center;line-height:1.3}.cert-gallery-issuer{color:#ffffffb3;font-family:Inter,sans-serif;font-size:11px;font-weight:500}.cert-gallery-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none}.cert-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:#0c100df0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:24px;overscroll-behavior:contain}.cert-modal-close,.cert-modal-prev,.cert-modal-next{position:absolute;z-index:20;background:#ffffff1f;border:1px solid rgba(255,255,255,.24);border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s cubic-bezier(.2,0,0,1);box-shadow:0 8px 24px #00000059}.cert-modal-close{top:24px;right:24px}.cert-modal-prev{left:24px}.cert-modal-next{right:24px}.cert-modal-close:hover,.cert-modal-prev:hover,.cert-modal-next:hover{background:#ffffff42;border-color:#ffffff73;transform:scale(1.1);color:#fff}.cert-modal-icon{width:20px;height:20px}.cert-modal-icon--lg{width:24px;height:24px}.cert-modal-img-wrap{max-width:min(1200px,94vw);max-height:92vh;width:auto;display:flex;flex-direction:column;align-items:center;gap:14px;-webkit-user-select:none;user-select:none}.cert-modal-img{max-width:min(1160px,92vw);max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:12px;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 72px #000000bf,0 0 40px #00000080;background:#181d19}.cert-modal-caption{display:flex;flex-direction:column;align-items:center;gap:3px;color:#f2f4ed;font-family:Inter,sans-serif;text-align:center}.cert-modal-caption strong{font-size:16px;font-weight:700;color:#fff}.cert-modal-caption span{font-size:13px;color:#bce88c;font-weight:500}.cert-modal-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:5px 16px;color:#fff;font-family:Inter,sans-serif;font-size:13px}.all-certs-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#454840;overflow-y:auto;overscroll-behavior:contain;padding:40px 5vw 80px}.all-certs-page-close{display:inline-flex;min-height:42px;justify-content:center;align-items:center;gap:9px;padding:0 20px;border-radius:100px;border:1.5px solid rgba(220,229,209,.35);background:#dce5d124;color:#e0ead7;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:32px}.all-certs-page-close span{display:inline-flex;align-items:center;justify-content:center;line-height:1}.all-certs-page-close span:first-child{width:16px;font-size:18px}.all-certs-page-close:hover{background:#dce5d147}.all-certs-page-title{font-family:Inter,sans-serif;font-size:42px;font-weight:800;color:#f2f4ed;margin:0 0 8px;letter-spacing:-1.5px}.all-certs-page-subtitle{font-family:Inter,sans-serif;font-size:16px;color:#f2f4ed9e;margin:0 0 48px}.all-certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.cert-card{background:#353a33;border:1px solid rgba(220,229,209,.16);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px #00000014;cursor:pointer;transition:transform .3s ease}.cert-card-img-wrap{aspect-ratio:4 / 3;overflow:hidden}.cert-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.cert-card:hover .cert-card-img{transform:scale(1.06)}.cert-card-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:4px}.cert-card-name{font-family:Inter,sans-serif;font-size:14px;font-weight:700;color:#f2f4ed;margin:0;line-height:1.4}.cert-card-issuer{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#bce88c}@media (max-width: 640px){.cert-gallery-row{height:220px}.all-certs-page{padding:28px 20px 60px}.all-certs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.skills-section{position:relative;width:100%;padding:92px 5vw 120px;background:#454840;overflow:hidden;box-sizing:border-box;z-index:1}.skills-section>.skills-heading,.skills-section>.skills-subtitle,.skills-section>.skills-tabs,.skills-section>.skills-panels{max-width:1180px;margin-left:auto;margin-right:auto}.skills-section:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(218,232,205,.08) 0%,transparent 70%);top:-100px;right:-150px;border-radius:50%;pointer-events:none}.skills-section:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(185,202,166,.06) 0%,transparent 70%);bottom:50px;left:-100px;border-radius:50%;pointer-events:none}.skills-heading{max-width:700px;margin:0 auto 16px;text-align:center}.skills-subtitle{text-align:center;color:#f2f4ed9e;font-size:16px;font-family:Inter,Segoe UI,sans-serif;font-weight:400;letter-spacing:.02em;margin:0 auto 48px;max-width:520px;line-height:1.7}.skills-tabs{display:flex;justify-content:center;gap:4px;margin-bottom:52px;background:#14181457;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(235,239,225,.22);border-radius:100px;padding:5px;width:fit-content;margin-left:auto;margin-right:auto;box-shadow:0 8px 32px #0f120f38,inset 0 1px #ebefe11f}.skills-tab-btn{padding:10px 28px;border-radius:100px;border:none;background:transparent;color:#ebefe19e;font-family:Inter,Segoe UI,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .3s ease;white-space:nowrap}.skills-tab-btn:hover{color:#fff;background:#ebefe11a}.skills-tab-btn--active{background:#dce5d1;color:#263025;box-shadow:0 2px 16px #0f120f3d,inset 0 1px #ffffffb3;border:1px solid rgba(220,229,209,.7);font-weight:600}@media (max-width: 640px){.skills-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:440px;border-radius:12px}.skills-tab-btn{min-width:0;padding:10px 3px;font-size:11px;letter-spacing:0}}.skills-panels{position:relative;min-height:360px}.skills-panel{display:none;animation:fadeInUp .4s ease forwards}.skills-panel--active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.skill-bars-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;max-width:860px;margin:0 auto}@media (max-width: 640px){.skill-bars-grid{grid-template-columns:1fr}}.skill-bar-item{display:flex;flex-direction:column;gap:8px}.skill-bar-header{display:flex;justify-content:space-between;align-items:center}.skill-name{font-family:Inter,Segoe UI,sans-serif;font-size:14px;font-weight:600;color:#f2f4ede0;letter-spacing:.08em}.skill-percent{font-family:Inter,Segoe UI,sans-serif;font-size:13px;font-weight:700;color:#bce88c;min-width:36px;text-align:right;transition:all .1s}.skill-bar-track{width:100%;height:8px;background:#14181457;border-radius:100px;overflow:hidden;position:relative}.skill-bar-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,#bce88c,#6fd5a3);transition:none;position:relative;box-shadow:0 0 12px #bce88c6b}.skill-bar-fill:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:10px;height:10px;background:#fff;border-radius:50%;box-shadow:0 0 8px #bce88ce6,0 0 16px #bce88c80}.mobile-more-skills{display:none}@media (max-width: 640px){.mobile-more-skills{display:block;width:min(100%,520px);margin:28px auto 0;border-top:1px solid rgba(235,239,225,.17);border-bottom:1px solid rgba(235,239,225,.17);color:#eef2e9;font:500 13px/1.5 Inter,Segoe UI,sans-serif}.mobile-more-skills summary{display:flex;min-height:48px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.mobile-more-skills summary::-webkit-details-marker{display:none}.mobile-more-skills summary:after{content:"+";color:#bce88c;font-size:20px}.mobile-more-skills[open] summary:after{content:"-"}.mobile-more-skills-list{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 16px}.mobile-more-skills-list span{padding:7px 10px;border:1px solid rgba(235,239,225,.17);border-radius:999px;background:#dce5d117;color:#f2f4edd1;font-size:11px}}.tools-grid-container{width:100%;min-height:320px;display:flex;align-items:center;justify-content:center}.certs-section{display:flex;flex-direction:column;align-items:center;gap:32px;padding:16px 0 40px}.certs-gallery-wrapper{width:100%;max-width:900px;margin:0 auto}.all-certs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 36px;background:#dce5d1;border:1px solid rgba(220,229,209,.7);border-radius:100px;color:#263025;font-family:Inter,Segoe UI,sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 16px #0f120f3d,inset 0 1px #ffffffb3;text-decoration:none}.all-certs-btn:hover{background:#e6eedf;transform:translateY(-2px);box-shadow:0 5px 20px #0f120f47,inset 0 1px #ffffffd1}.glitch-text{position:relative;display:inline-block;color:inherit;white-space:nowrap}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;inset:0 auto auto 0;color:inherit;background:transparent;overflow:hidden;clip-path:inset(0);pointer-events:none}.glitch-text:not(.glitch-text--hover):after{left:5px;text-shadow:var(--after-shadow);animation:glitch-text-slice var(--after-duration) infinite linear alternate-reverse}.glitch-text:not(.glitch-text--hover):before{left:-5px;text-shadow:var(--before-shadow);animation:glitch-text-slice var(--before-duration) infinite linear alternate-reverse}.glitch-text--hover:before,.glitch-text--hover:after{content:"";opacity:0;animation:none}.glitch-text--hover:hover:before,.glitch-text--hover:hover:after{content:attr(data-text);opacity:1;animation:glitch-text-slice var(--before-duration) infinite linear alternate-reverse}.glitch-text--hover:hover:after{left:5px;text-shadow:var(--after-shadow);animation-duration:var(--after-duration)}.glitch-text--hover:hover:before{left:-5px;text-shadow:var(--before-shadow)}@keyframes glitch-text-slice{0%{clip-path:inset(20% 0 50% 0)}5%{clip-path:inset(10% 0 60% 0)}10%{clip-path:inset(15% 0 55% 0)}15%{clip-path:inset(25% 0 35% 0)}20%{clip-path:inset(30% 0 40% 0)}25%{clip-path:inset(40% 0 20% 0)}30%{clip-path:inset(10% 0 60% 0)}35%{clip-path:inset(15% 0 55% 0)}40%{clip-path:inset(25% 0 35% 0)}45%{clip-path:inset(30% 0 40% 0)}50%{clip-path:inset(20% 0 50% 0)}55%{clip-path:inset(10% 0 60% 0)}60%{clip-path:inset(15% 0 55% 0)}65%{clip-path:inset(25% 0 35% 0)}70%{clip-path:inset(30% 0 40% 0)}75%{clip-path:inset(40% 0 20% 0)}80%{clip-path:inset(20% 0 50% 0)}85%{clip-path:inset(10% 0 60% 0)}90%{clip-path:inset(15% 0 55% 0)}95%{clip-path:inset(25% 0 35% 0)}to{clip-path:inset(30% 0 40% 0)}}@media (prefers-reduced-motion: reduce){.glitch-text:before,.glitch-text:after{animation:none!important}}.web-threads-container{position:relative;width:100%;height:100%;overflow:hidden;pointer-events:none}.web-threads-container canvas{pointer-events:auto}.projects-section{position:relative;z-index:1;width:100%;padding:88px 5vw 120px;background:#000;color:#f2f4fa;overflow:hidden}.projects-section>.web-threads-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.62}.projects-section>.web-threads-container canvas,.all-projects-page>.web-threads-container canvas{pointer-events:none}.projects-section-content{position:relative;z-index:1;max-width:1180px;margin:0 auto}.projects-heading{text-align:center;margin-bottom:42px}.projects-title{margin:0 0 12px;font:700 clamp(46px,7vw,82px)/.95 "Space Grotesk",sans-serif;letter-spacing:0}.projects-subtitle{max-width:480px;margin:0 auto;color:#9aa3b5;font:400 16px/1.6 DM Sans,sans-serif}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:430px;align-items:stretch;gap:22px;max-width:1080px;margin:0 auto}.project-card-shell{min-width:0;height:100%}.project-card{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;padding:0;text-align:left;color:inherit;border:1px solid #2a3342;border-radius:10px;background:#171c26;overflow:hidden;cursor:pointer;touch-action:manipulation;box-shadow:0 15px 30px #0003;transition:border-color .24s ease,box-shadow .24s ease}.project-card:hover,.project-card:focus-visible{border-color:#65748a;box-shadow:0 22px 44px #00000059;outline:none}.project-card-image-wrap{display:block;flex:0 0 56%;min-height:0;overflow:hidden;background:#242b36}.project-card-image{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82);transition:transform .42s ease,filter .42s ease}.project-card:hover .project-card-image,.project-card:focus-visible .project-card-image{transform:scale(1.07);filter:saturate(1)}.project-card-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:18px 18px 17px}.project-card-kicker{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#8e9aad;font:500 12px/1.3 DM Sans,sans-serif;letter-spacing:.04em;text-transform:uppercase}.project-card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-top:8px;color:#f5f7fb;font:600 21px/1.15 Space Grotesk,sans-serif}.project-card-link{margin-top:auto;padding-top:18px;color:#a9e8ca;font:600 14px/1 DM Sans,sans-serif}.all-projects-btn{display:block;margin:42px auto 0;padding:13px 24px;border:1px solid #3d4b5f;border-radius:999px;background:transparent;color:#d8e1ef;font:600 14px DM Sans,sans-serif;cursor:pointer;transition:background .2s ease,border-color .2s ease}.all-projects-btn:hover{background:#202936;border-color:#8493a7}.all-projects-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;overflow-y:auto;overscroll-behavior:contain;background:#07090d;color:#f2f4fa}.all-projects-page>.web-threads-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.52;pointer-events:none}.all-projects-content{position:relative;z-index:1;width:min(1180px,100%);min-height:100%;margin:0 auto;padding:36px 5vw 72px}.all-projects-back{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;margin:0 0 42px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#dce6d3;font:600 14px/1 DM Sans,sans-serif;cursor:pointer}.all-projects-back span{display:inline-flex;width:16px;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:transform .18s ease}.all-projects-back:hover span{transform:translate(-4px)}.all-projects-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:36px}.all-projects-eyebrow{color:#80d7ff;font:600 11px/1 DM Sans,sans-serif;letter-spacing:.2em;text-transform:uppercase}.all-projects-header h1{margin:10px 0 6px;color:#f4f7ff;font:700 clamp(38px,5vw,60px)/1 "Space Grotesk",sans-serif}.all-projects-header p{margin:0;color:#aab6ca;font:400 15px/1.5 DM Sans,sans-serif}.all-projects-overlay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:430px;align-items:stretch;gap:22px}.project-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:grid;place-items:center;padding:clamp(10px,3vw,28px);background:radial-gradient(ellipse at 18% 12%,rgba(70,133,111,.26),transparent 46%),radial-gradient(ellipse at 88% 86%,rgba(59,116,150,.23),transparent 48%),#030708db;-webkit-backdrop-filter:blur(20px) saturate(1.16);backdrop-filter:blur(20px) saturate(1.16);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.project-detail-backdrop::-webkit-scrollbar{display:none;width:0;height:0}.project-detail{display:flex;flex-direction:column;width:min(1120px,100%);max-height:min(920px,92dvh);overflow:auto;overscroll-behavior:contain;scrollbar-width:none;border:1px solid rgba(208,238,226,.24);border-radius:18px;background:linear-gradient(135deg,#101314f5,#030508f2);box-shadow:0 34px 100px #000000b8,inset 0 1px #f0fff91f;-webkit-backdrop-filter:blur(30px) saturate(1.18);backdrop-filter:blur(30px) saturate(1.18)}.project-detail::-webkit-scrollbar,.project-detail-tags::-webkit-scrollbar,.project-tech-list::-webkit-scrollbar{display:none;width:0;height:0}.project-detail-header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;gap:24px;padding:clamp(18px,3vw,30px);border-bottom:1px solid rgba(218,245,233,.15);background:#0b0e10ed;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.project-detail-header h2{margin:0 0 14px;color:#f1fff7;font:700 clamp(23px,3.5vw,34px)/1.12 "Space Grotesk",sans-serif}.project-detail-tags,.project-tech-list{display:flex;flex-wrap:wrap;gap:8px}.project-detail-tags{max-height:88px;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 8px}.project-detail-tags span{padding:6px 11px;border:1px solid rgba(137,218,196,.26);border-radius:999px;background:#73c2a91f;color:#a9efd7;font:500 11px DM Sans,sans-serif;white-space:nowrap}.project-detail-close{flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(232,255,247,.2);border-radius:50%;background:#defff31f;color:#fff;font:500 18px sans-serif;cursor:pointer}.project-detail-content{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(18px,3vw,34px);padding:clamp(18px,3vw,30px)}.project-detail h3{display:flex;align-items:center;gap:10px;margin:0 0 15px;color:#e7fbf1;font:600 17px DM Sans,sans-serif}.project-detail h3 span{width:7px;height:7px;border-radius:50%}.project-detail-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid rgba(224,249,238,.16);border-radius:10px;margin-bottom:14px;background:#080c12}.project-detail-copy p{color:#d2e1db;font:400 15px/1.75 DM Sans,sans-serif;margin:0 0 26px}.project-tech-list{max-height:min(26vh,220px);overflow:auto;overscroll-behavior:contain;margin-bottom:28px;padding:1px 2px 14px 0}.project-tech-list{scrollbar-width:none}.project-tech-list span{flex:1 1 38%;padding:12px;border:1px solid rgba(202,231,218,.14);border-radius:8px;background:#e5fdf113;color:#e2f2e9;text-align:center;font:500 14px DM Sans,sans-serif}.project-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-actions a{padding:12px;border-radius:6px;background:#46546a;color:#f4f7fc;text-align:center;text-decoration:none;font:600 14px DM Sans,sans-serif}.project-actions .project-action-live{background:linear-gradient(100deg,#10b7ca,#a34dec)}@media (max-width: 760px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:390px;max-width:720px}.all-projects-overlay-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:390px}.all-projects-content{padding:24px 6vw 56px}.all-projects-back{margin-bottom:32px}.project-detail-content{grid-template-columns:1fr}}@media (max-width: 520px){.projects-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(84vw,360px);grid-auto-rows:390px;max-width:none;overflow-x:auto;overflow-y:hidden;margin:0 -6vw;padding:0 6vw 14px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.projects-grid::-webkit-scrollbar{display:none}.projects-grid .project-card-shell{scroll-snap-align:center}.all-projects-overlay-grid{grid-template-columns:1fr;grid-auto-rows:390px}.project-card-title{font-size:19px}.project-detail-backdrop{padding:8px}.project-detail{max-height:94dvh;border-radius:14px}.project-detail-header{gap:12px}.project-detail-header h2{padding-right:4px}.project-detail-content{gap:22px}.project-tech-list span{flex-basis:44%}}.animated-footer{position:relative;isolation:isolate;display:flex;min-height:580px;flex-direction:column;justify-content:space-between;overflow:hidden;padding:30px clamp(22px,5vw,76px) 24px;background:#101511;color:#eff4e9;container-type:inline-size}.animated-footer-topline,.animated-footer-bottomline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#e0ead8ad;font:500 11px/1.5 DM Sans,sans-serif}.animated-footer-topline{min-height:38px;border-bottom:1px solid rgba(218,230,213,.14);padding-bottom:14px;text-transform:uppercase;letter-spacing:.13em}.animated-footer a{color:inherit;text-decoration:none}.animated-footer-topline a,.animated-footer-bottomline>a{color:#c8e3ae}.animated-footer-art{position:absolute;z-index:0;top:58px;right:0;bottom:42px;left:0;display:flex;align-items:center;justify-content:space-between;overflow:hidden;pointer-events:none;opacity:.95}.animated-footer-hand{display:flex;width:min(43%,610px);align-items:center;justify-content:center;will-change:transform}.animated-footer-hand--left{margin-left:-3%}.animated-footer-hand--right{margin-right:-3%}.animated-footer-hand canvas{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}.animated-footer-heading{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;justify-content:flex-end;padding:0 0 64px;pointer-events:none}.animated-footer-heading-mask{overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.animated-footer-heading h2{margin:0;color:#f0f5e8;font:500 clamp(28px,6.5cqw,96px)/.92 "Space Grotesk",sans-serif;letter-spacing:0;white-space:nowrap}.animated-footer-bottomline{position:relative;z-index:2;padding-top:17px;border-top:1px solid rgba(218,230,213,.14)}.animated-footer-bottomline nav{display:flex;gap:22px}.animated-footer-bottomline nav a:hover,.animated-footer-topline a:hover,.animated-footer-bottomline>a:hover{color:#f2f7e9}@media (max-width: 640px){.animated-footer{min-height:480px;padding:22px 20px 18px}.animated-footer-topline{align-items:flex-start;flex-direction:column;gap:6px}.animated-footer-art{top:86px;right:0;bottom:76px;left:0}.animated-footer-hand{width:56%}.animated-footer-hand--left{margin-left:-13%}.animated-footer-hand--right{margin-right:-13%}.animated-footer-heading{padding-bottom:94px}.animated-footer-heading h2{font-size:clamp(25px,6.5cqw,45px)}.animated-footer-bottomline{align-items:flex-start;flex-wrap:wrap;gap:12px 20px}.animated-footer-bottomline nav{order:3;width:100%;gap:17px}}@media (prefers-reduced-motion: reduce){.animated-footer-hand{transform:none!important}}.journey-section,.contact-section{position:relative;z-index:1;color:#f1f4ec;overflow:hidden}.journey-section{padding:112px 5vw 124px;background:radial-gradient(ellipse at 16% 12%,rgba(124,151,115,.14),transparent 38%),#272d28}.portfolio-section-inner{width:min(1120px,100%);margin:0 auto}.portfolio-section-heading{max-width:610px;margin:0 auto 54px;text-align:center}.portfolio-eyebrow{color:#b9d49d;font:600 11px/1.4 DM Sans,sans-serif;letter-spacing:.16em;text-transform:uppercase}.portfolio-section-heading h2,.contact-intro h2{margin:12px 0 14px;font:600 clamp(38px,5vw,62px)/1.02 "Space Grotesk",sans-serif}.portfolio-section-heading>p,.contact-intro>p{margin:0;color:#e8eee2ad;font:400 16px/1.7 DM Sans,sans-serif}.journey-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}.journey-column-title{margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid rgba(219,229,211,.16);color:#e6eddf;font:500 21px/1.2 Space Grotesk,sans-serif}.journey-list{display:grid;gap:12px}.journey-item{position:relative;padding:21px 22px 22px 24px;border:1px solid rgba(219,229,211,.12);border-radius:6px;background:#0f141147;transition:border-color .22s ease,background .22s ease,transform .22s ease}.journey-item:hover{transform:translateY(-3px);border-color:#b9d49d57;background:#0f14116e}.journey-period{color:#b9d49d;font:600 11px/1.4 DM Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase}.journey-item h4{margin:10px 0 4px;color:#f4f6f0;font:600 18px/1.3 Space Grotesk,sans-serif}.journey-organization,.journey-detail{margin:0;font-family:DM Sans,sans-serif}.journey-organization{color:#c5cdc0;font-size:13px;line-height:1.5}.journey-detail{margin-top:12px;color:#e8eee299;font-size:13px;line-height:1.65}.contact-section{padding:128px 5vw 28px;background:radial-gradient(ellipse at 76% 18%,rgba(94,123,106,.13),transparent 38%),#171e19}.contact-section-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(48px,9vw,130px);width:min(1080px,100%);margin:0 auto;padding-bottom:100px}.contact-intro h2{max-width:440px;margin-top:16px}.contact-intro>p{max-width:390px}.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:28px}.contact-link{display:grid;min-width:0;gap:5px;padding-left:12px;border-left:1px solid rgba(185,212,157,.4);text-decoration:none}.contact-link span{color:#d9e0d485;font:500 10px/1.3 DM Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase}.contact-link strong{overflow-wrap:anywhere;color:#c6e4a9;font:500 13px/1.4 DM Sans,sans-serif}.contact-link:hover strong{color:#e0f0cf}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.contact-form label{display:grid;gap:9px;color:#d9e0d4;font:500 12px/1.4 DM Sans,sans-serif}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(218,230,213,.19);border-radius:4px;outline:none;background:#070c094d;color:#f4f6f0;font:400 14px/1.5 DM Sans,sans-serif;transition:border-color .18s ease,background .18s ease}.contact-form input{height:48px;padding:0 13px}.contact-form textarea{min-height:132px;padding:12px 13px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#d9e0d461}.contact-form input:focus,.contact-form textarea:focus{border-color:#b9d49db8;background:#070c097a}.contact-message-field{grid-column:1 / -1}.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:0 16px;border:1px solid #c7dfa9;border-radius:4px;background:#c7dfa9;color:#20291f;font:600 13px/1 DM Sans,sans-serif;cursor:pointer;transition:background .18s ease,transform .18s ease}.contact-submit:hover{transform:translateY(-2px);background:#d7e9c1}.contact-submit span{font-size:18px}.contact-error{grid-column:1 / -1;margin:0;color:#ff9a9a;font:500 12px/1.4 DM Sans,sans-serif}@media (max-width: 760px){.journey-section{padding:86px 6vw 94px}.journey-columns{grid-template-columns:1fr;gap:36px}.contact-section{padding:92px 6vw 24px}.contact-section-inner{grid-template-columns:1fr;gap:42px;padding-bottom:72px}}@media (max-width: 520px){.contact-form{grid-template-columns:1fr}.contact-message-field{grid-column:auto}}@media (prefers-reduced-motion: reduce){.journey-item,.contact-submit{transition:none}}html,body,#root{overflow:auto!important;overflow-x:hidden!important;height:auto!important}.page-root{width:100%;min-height:100vh;opacity:1}.page-root>.shader-frame{width:100vw;max-width:100%;height:100vh;position:relative;z-index:0;flex-shrink:0}.section-mist-transition{position:relative;z-index:2;height:60px;margin:-30px 0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(98,113,92,.045) 50%,transparent 100%)}.section-mist-transition:before,.section-mist-transition:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.section-mist-transition:before{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,transparent,rgba(130,150,123,.055) 50%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 20%,#000 50%,rgba(0,0,0,.35) 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 20%,#000 50%,rgba(0,0,0,.35) 80%,transparent 100%);opacity:.8}.section-mist-transition:after{background:radial-gradient(ellipse at 50% 50%,rgba(130,150,123,.075) 0%,rgba(130,150,123,.025) 46%,transparent 78%);filter:blur(5px);opacity:.8}.section-mist-transition--skills-projects{background:linear-gradient(180deg,transparent 0%,rgba(83,91,90,.05) 50%,transparent 100%)}.section-mist-transition--skills-projects:before{background:linear-gradient(180deg,transparent,rgba(119,132,132,.06) 50%,transparent)}.section-mist-transition--skills-projects:after{background:radial-gradient(ellipse at 52% 50%,rgba(119,132,132,.075) 0%,rgba(119,132,132,.025) 46%,transparent 78%)}.sylva-scene-host,.sylva-scene-host>*{width:100%;height:100%}.sylva-scene-host{position:relative;overflow:hidden;background:#4a4d44}.sylva-hero-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,8vw,120px);color:#f4f6ef;background:radial-gradient(circle at 68% 70%,rgba(180,207,147,.22),transparent 32%),linear-gradient(135deg,#34382f,#4a4d44 55%,#242921)}.sylva-hero-fallback-mark{margin-bottom:32px;color:#dce5d1;font:500 14px/1 Lexend,sans-serif;letter-spacing:.3em;text-transform:uppercase}.sylva-hero-fallback h1{margin:0;font:300 clamp(42px,6vw,82px)/1.05 "Lexend",sans-serif}.sylva-hero-fallback p{max-width:360px;margin:28px 0 0;color:#f4f6efb3;font:300 16px/1.6 Lexend,sans-serif}html.overlay-open,html.overlay-open body,html.overlay-open #root{overflow:hidden!important}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;background-color:#060a07;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shader-frame{width:100vw;height:100vh;position:relative;overflow:hidden}.landing-page-frame{width:100%;height:100%}
