/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#090d12;--panel:#101720;--panel2:#151e29;--text:#f4f6f2;--muted:#a8b2bd;--sub:#778493;--line:#f4f6f221;--strong:#f4f6f23b;--accent:#82edc5;--accentInk:#07130f;--blue:#9bb5ff;--soft:#82edc517;--nav:#090d12d6;--image:#eef1f4;--shadow:#00000073;--contact:#b7f5d8;--contactText:#0c2119;--contactMuted:#365d4e;--globeBg:#071018;--globePanel:#0d1922db;--globeGrid:#82edc51c;--globeBeam:#82edc530;--navH:78px;--pad:clamp(24px,5vw,78px);--max:1440px}:root[data-theme=light]{--bg:#f5f3ed;--panel:#fff;--panel2:#eae7df;--text:#15191d;--muted:#4f5a65;--sub:#68747f;--line:#15191d26;--strong:#15191d42;--accent:#087d60;--accentInk:#fff;--blue:#315dcc;--soft:#087d6017;--nav:#f5f3ede0;--shadow:#28262233;--contact:#173f36;--contactText:#f5fff9;--contactMuted:#b9d6cb;--globeBg:#e8eee8;--globePanel:#ffffffe6;--globeGrid:#087d601c;--globeBeam:#087d6029}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto;scroll-padding-top:calc(var(--navH) + 22px)}body{background:var(--bg);color:var(--text);font-family:var(--font-geist-sans),Arial,sans-serif;min-width:320px;margin:0;font-size:17px;line-height:1.65;transition:background .25s,color .25s;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accentInk)}.shell{max-width:var(--max);padding-inline:var(--pad);width:100%;margin:auto}.nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--nav);border-bottom:1px solid var(--line);height:var(--navH);padding-inline:var(--pad);z-index:100;grid-template-columns:auto 1fr auto;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;display:flex}.brand span,.site-footer>div span{background:var(--text);color:var(--bg);font:700 12px var(--font-geist-mono),monospace;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.brand strong{font-size:15px}.links{justify-content:center;gap:clamp(22px,3vw,48px);display:flex}.links a,.resume,.theme{font:12px var(--font-geist-mono),monospace}.links a{color:var(--muted);position:relative}.links a:hover{color:var(--text)}.links a:after{background:var(--accent);content:"";width:100%;height:1px;transition:all .18s;position:absolute;bottom:-8px;left:0;transform:scaleX(0)}.links a:hover:after{transform:scaleX(1)}.nav-actions{gap:10px;display:flex}.resume,.theme{border:1px solid var(--strong);background:0 0;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:9px 15px;display:flex}.theme{cursor:pointer;min-width:92px}.theme span{font:18px Arial}.resume:hover,.theme:hover{background:var(--panel2);border-color:var(--accent)}.menu{background:0 0;border:0;display:none}.hero{min-height:max(820px,100svh);padding-bottom:clamp(85px,10vw,145px);padding-top:calc(var(--navH) + clamp(88px,10vw,145px));grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:clamp(52px,7vw,110px);display:grid;position:relative;overflow:hidden}.grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);inset:var(--navH) 0 0;opacity:.35;background-size:64px 64px;position:absolute;-webkit-mask-image:linear-gradient(#0008,#0000 80%);mask-image:linear-gradient(#0008,#0000 80%)}.hero:before{background:radial-gradient(circle,var(--soft),transparent 68%);content:"";width:800px;height:800px;position:absolute;top:-250px;right:-300px}.hero-copy,.profile{z-index:1;position:relative}.status{color:var(--muted);font:12px var(--font-geist-mono),monospace;letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:30px;display:flex}.status i,.profile footer i{background:var(--accent);box-shadow:0 0 0 5px var(--soft);border-radius:50%;width:8px;height:8px}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(58px,7.1vw,104px);font-weight:590;line-height:.98}.hero h1 span{color:var(--muted);font-weight:470;display:block}.lede{letter-spacing:-.02em;max-width:720px;margin:36px 0 0;font-size:clamp(20px,1.65vw,25px);line-height:1.45}.hero-note{color:var(--muted);max-width:650px;font-size:16px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:40px;display:flex}.hero-actions a:first-child{background:var(--accent);color:var(--accentInk);font:650 13px var(--font-geist-mono),monospace;border-radius:12px;padding:15px 18px}.hero-actions a:last-child{border-bottom:1px solid var(--strong);color:var(--muted);font:12px var(--font-geist-mono),monospace;padding-bottom:5px}.profile{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--strong);box-shadow:0 34px 90px var(--shadow);border-radius:22px;min-height:590px;overflow:hidden;transform:rotate(1deg)}.profile>header,.profile>footer{font:12px var(--font-geist-mono),monospace;text-transform:uppercase;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.profile>header{border-bottom:1px solid var(--line);color:var(--muted)}.profile>header b{color:var(--sub);font-weight:400}.current{background:var(--soft);border-bottom:1px solid var(--line);grid-template-columns:66px 1fr;gap:20px;padding:25px 22px;display:grid}.current small{color:var(--accent);font:12px var(--font-geist-mono),monospace;text-transform:uppercase}.current strong,.current span{display:block}.current strong{font-size:18px}.current span{color:var(--muted);margin-top:4px;font-size:13px}.profile>article{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr;gap:18px;margin-inline:22px;padding:24px 0;display:grid}.profile>article>span{color:var(--accent);font:12px var(--font-geist-mono),monospace}.profile>article strong{font-size:17px}.profile>article p{color:var(--muted);margin:5px 0;font-size:14px;line-height:1.5}.profile>footer{color:var(--sub);position:absolute;bottom:0;left:0;right:0}.profile>footer span:first-child{color:var(--text);align-items:center;gap:8px;display:flex}.hero{min-height:100svh;padding-bottom:22px;padding-top:calc(var(--navH) + 18px);grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr);align-items:center;gap:clamp(30px,3.5vw,58px)}.hero-copy{padding-top:0}.hero .status{margin-bottom:18px}.hero h1{max-width:760px;font-size:clamp(48px,4.9vw,76px);line-height:.96}.hero .lede{max-width:670px;margin-top:18px;font-size:clamp(17px,1.3vw,20px)}.ship-console{background:linear-gradient(130deg,var(--panel),transparent);border:1px solid var(--strong);border-radius:18px;margin-top:22px;overflow:hidden}.ship-console>header,.ship-console>footer{font:9px var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:9px 13px;display:flex}.ship-console>header{border-bottom:1px solid var(--line);color:var(--muted)}.ship-console>header b{color:var(--sub);font-weight:400}.ship-console .current{grid-template-columns:56px 1fr;align-items:center;gap:10px;padding:11px 13px}.ship-console .current small{font-size:8px}.ship-console .current strong{font-size:14px}.ship-console .current span{margin-top:1px;font-size:10px}.ship-grid{grid-template-columns:repeat(3,1fr);display:grid}.ship-grid article{border-right:1px solid var(--line);min-height:110px;padding:12px}.ship-grid article:last-child{border-right:0}.ship-grid article>span{color:var(--accent);font:8px var(--font-geist-mono),monospace}.ship-grid strong{margin-top:10px;font-size:12px;line-height:1.3;display:block}.ship-grid p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.4}.ship-console>footer{border-top:1px solid var(--line);color:var(--sub)}.ship-console>footer span:first-child{color:var(--text);align-items:center;gap:8px;display:flex}.ship-console>footer i{background:var(--accent);box-shadow:0 0 0 4px var(--soft);border-radius:50%;width:6px;height:6px}.hero-actions{margin-top:18px}.hero-globe{scroll-margin-top:calc(var(--navH) + 10px);z-index:2;align-self:center;position:relative}.hero-globe>header{justify-content:space-between;align-items:end;margin:0 9px 8px;display:flex}.hero-globe>header span{color:var(--accent);font:10px var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase}.hero-globe>header p{color:var(--sub);font:9px var(--font-geist-mono),monospace;text-align:right;max-width:220px;margin:0}.hero-globe .globe-wrap{border-radius:24px;margin-top:0}.hero-globe .globe-scene{height:clamp(470px,38vw,550px)}.hero-globe .globe-core{width:126px;height:126px}.hero-globe .tech-node{border-radius:12px;width:43px;height:43px}.hero-globe .tech-node svg{width:23px;height:23px}.hero-globe .tech-glyph{font-size:9px}.hero-globe .globe-hud{padding:9px 13px;font-size:8px}.hero-globe .globe-legend{gap:17px;padding:9px}.hero-globe .globe-legend span{font-size:8px}.proof{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.proof>div{border-right:1px solid var(--line);align-items:center;gap:25px;min-height:145px;padding:28px clamp(22px,4vw,56px);display:flex}.proof>div:last-child{border:0}.proof strong{color:var(--accent);letter-spacing:-.06em;font-size:clamp(38px,4vw,62px);line-height:1}.proof span{color:var(--muted);font-size:13px;line-height:1.45}.skills-universe{background:linear-gradient(180deg,var(--bg),var(--globeBg) 25%,var(--globeBg) 80%,var(--bg));border-bottom:1px solid var(--line);scroll-margin-top:var(--navH);padding:clamp(110px,12vw,175px) 0;position:relative;overflow:hidden}.skills-universe:before{background-image:linear-gradient(var(--globeGrid) 1px,transparent 1px),linear-gradient(90deg,var(--globeGrid) 1px,transparent 1px);content:"";opacity:.42;pointer-events:none;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.globe-wrap{background:radial-gradient(circle at 50% 48%,var(--globeBeam),transparent 31%),linear-gradient(145deg,var(--globePanel),transparent);border:1px solid var(--strong);box-shadow:0 55px 130px var(--shadow),inset 0 0 110px var(--globeBeam);border-radius:30px;margin-top:clamp(62px,8vw,110px);position:relative;overflow:hidden}.globe-hud{border-bottom:1px solid var(--line);color:var(--sub);font:10px var(--font-geist-mono),monospace;letter-spacing:.08em;z-index:3;justify-content:space-between;align-items:center;padding:15px 20px;display:flex;position:relative}.globe-hud span:last-child{color:var(--accent)}.globe-scene{cursor:grab;perspective:1000px;touch-action:none;-webkit-user-select:none;user-select:none;height:clamp(580px,66vw,830px);position:relative;overflow:hidden}.globe-scene:active{cursor:grabbing}.globe-scene:before,.globe-scene:after{border:1px solid var(--globeBeam);content:"";pointer-events:none;border-radius:50%;width:min(72%,750px);height:78%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.globe-scene:after{width:min(88%,920px);height:26%;transform:translate(-50%,-50%)rotateX(70deg)}.globe-core{background:radial-gradient(circle,var(--globeBeam),transparent 67%);border:1px solid var(--globeBeam);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:190px;height:190px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.globe-core i{border:1px solid var(--globeBeam);border-radius:50%;position:absolute;inset:18px}.globe-core i:nth-child(2){transform:rotateX(62deg)}.globe-core i:nth-child(3){transform:rotateY(62deg)}.globe-core b{color:var(--accent);font:700 25px var(--font-geist-mono),monospace;text-shadow:0 0 24px var(--accent)}.tech-node{background:var(--globePanel);border:1px solid var(--strong);box-shadow:0 8px 30px var(--shadow),inset 0 0 22px var(--globeBeam);cursor:pointer;height:62px;transform-style:preserve-3d;will-change:transform,opacity;border-radius:17px;justify-content:center;align-items:center;width:62px;padding:0;transition:border-color .18s,box-shadow .18s;display:flex;position:absolute;top:50%;left:50%}.tech-node:hover,.tech-node:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--soft),0 0 34px var(--globeBeam);z-index:110!important}.tech-node svg{filter:drop-shadow(0 0 9px);width:31px;height:31px}.material-mark{color:var(--accent);height:29px;-webkit-mask:var(--material-icon) center/contain no-repeat;-webkit-mask:var(--material-icon) center/contain no-repeat;-webkit-mask:var(--material-icon) center/contain no-repeat;mask:var(--material-icon) center/contain no-repeat;-webkit-mask:var(--material-icon) center/contain no-repeat;background:currentColor;width:29px;display:block}.tech-node>span:last-child{background:var(--text);color:var(--bg);font:10px var(--font-geist-mono),monospace;opacity:0;pointer-events:none;white-space:nowrap;border-radius:6px;padding:5px 7px;transition:all .18s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.tech-node:hover>span:last-child,.tech-node:focus-visible>span:last-child{opacity:1;transform:translate(-50%)}.globe-legend{border-top:1px solid var(--line);justify-content:center;gap:30px;padding:18px 20px;display:flex}.globe-legend span{color:var(--muted);font:10px var(--font-geist-mono),monospace;text-transform:uppercase;align-items:center;gap:8px;display:flex}.globe-legend i{background:var(--accent);border-radius:50%;width:6px;height:6px}.skill-modal{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:1000;background:#02070ac7;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.skill-modal>section{background:var(--panel);border:1px solid var(--accent);box-shadow:0 0 0 1px var(--bg),0 0 90px var(--globeBeam);border-radius:22px;width:100%;max-width:880px;max-height:min(880px,94svh);position:relative;overflow:auto}.skill-modal>section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.skill-modal>section>header>div{gap:16px;display:flex}.skill-modal>section>header span,.skill-modal>section>header b{font:10px var(--font-geist-mono),monospace;letter-spacing:.1em}.skill-modal>section>header span{color:var(--accent)}.skill-modal>section>header b{color:var(--sub);font-weight:400}.skill-modal>section>header button{border:1px solid var(--strong);cursor:pointer;background:0 0;border-radius:8px;width:36px;height:36px;font-size:21px;line-height:1}.modal-scan{background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7;height:1px}.skill-identity{background:linear-gradient(120deg,var(--soft),transparent);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:clamp(25px,4vw,40px);display:flex}.skill-big-mark{background:var(--globePanel);border:1px solid var(--strong);box-shadow:inset 0 0 32px var(--globeBeam);border-radius:18px;flex:0 0 90px;justify-content:center;align-items:center;height:90px;display:flex}.skill-big-mark svg{filter:drop-shadow(0 0 12px);width:46px;height:46px}.skill-big-mark .material-mark{width:48px;height:48px}.skill-identity small{color:var(--accent);font:10px var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase}.skill-identity h3{letter-spacing:-.055em;margin:10px 0;font-size:clamp(36px,6vw,62px);line-height:1}.skill-identity p{color:var(--muted);font:11px var(--font-geist-mono),monospace;text-transform:uppercase;margin:0}.skill-readout,.skill-missions{padding:26px clamp(24px,4vw,40px)}.skill-readout{border-bottom:1px solid var(--line)}.skill-readout>span,.skill-missions>span{color:var(--sub);font:10px var(--font-geist-mono),monospace;letter-spacing:.1em}.skill-readout p{color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.7}.skill-missions>div{border-top:1px solid var(--strong);margin-top:15px}.skill-missions article{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:start;gap:16px;padding:20px 0;display:grid}.skill-missions article>b{color:var(--accent);font:10px var(--font-geist-mono),monospace;padding-top:4px}.skill-missions article time{color:var(--accent);font:10px var(--font-geist-mono),monospace}.skill-missions article h4{margin:5px 0 2px;font-size:18px;line-height:1.25}.skill-missions article small{color:var(--sub);font:10px var(--font-geist-mono),monospace;text-transform:uppercase}.skill-missions article p{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.65}.skill-missions article i{color:var(--sub);font:9px var(--font-geist-mono),monospace;padding-top:4px;font-style:normal}.skill-modal footer{background:var(--panel2);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px clamp(24px,4vw,40px);display:flex}.skill-modal footer span{color:var(--sub);font:9px var(--font-geist-mono),monospace;text-transform:uppercase}.skill-modal footer button{background:var(--accent);color:var(--accentInk);cursor:pointer;font:10px var(--font-geist-mono),monospace;text-transform:uppercase;border:0;border-radius:8px;padding:11px 14px}.intro{grid-template-columns:180px 1fr;gap:80px;padding-top:clamp(110px,13vw,190px);padding-bottom:100px;display:grid}.intro>small,.experience>small,.stack>small,.contact>small{color:var(--accent);font:12px var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase}.intro h2,.experience>header h2,.stack>header h2{letter-spacing:-.06em;margin:0;font-size:clamp(46px,5.5vw,78px);font-weight:550;line-height:1.03}.intro p,.experience>header p,.stack>header p{color:var(--muted);max-width:690px;font-size:17px;line-height:1.75}.work-layout{grid-template-columns:110px minmax(0,1fr);gap:clamp(34px,5vw,78px);padding-bottom:80px;display:grid}.years{height:calc(100svh - var(--navH) - 70px);min-height:500px;top:calc(var(--navH) + 35px);align-self:start;position:sticky}.years>small{color:var(--sub);font:11px var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;position:absolute}.year-track{width:58px;position:absolute;top:30px;bottom:30px;left:48px}.year-track:before,.year-track>b{background:var(--strong);content:"";width:1px;height:100%;position:absolute;top:0;left:5px}.year-track>b{background:var(--accent);max-height:100%;transition:height 80ms}.year-track a{color:var(--sub);font:11px var(--font-geist-mono),monospace;align-items:center;gap:10px;display:flex;position:absolute;left:0}.year-track a:first-of-type{top:0}.year-track a:nth-of-type(2){top:34%}.year-track a:nth-of-type(3){top:67%}.year-track a:nth-of-type(4){bottom:0}.year-track a i{background:var(--bg);border:1px solid var(--strong);z-index:1;border-radius:50%;width:11px;height:11px;position:relative}.year-track a.active{color:var(--text)}.year-track a.active i{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--soft)}.project{border-top:1px solid var(--strong);scroll-margin-top:calc(var(--navH) + 16px);padding:clamp(82px,10vw,138px) 0 clamp(110px,13vw,185px)}.project:first-child{padding-top:50px}.project-head{grid-template-columns:95px minmax(300px,1fr) minmax(280px,.72fr);gap:clamp(28px,4vw,62px);margin-bottom:clamp(58px,7vw,96px);display:grid}.project-id{font:12px var(--font-geist-mono),monospace;grid-template-columns:auto 1fr;gap:12px;height:min-content;display:grid}.project-id span{color:var(--accent)}.project-id i{background:var(--strong);height:1px;margin-top:10px}.project-id time{color:var(--sub);white-space:nowrap;grid-column:1/-1}.project-title>small{color:var(--blue);font:12px var(--font-geist-mono),monospace;letter-spacing:.05em;text-transform:uppercase}.project-title h3{letter-spacing:-.06em;margin:17px 0 22px;font-size:clamp(42px,5.2vw,76px);font-weight:560;line-height:1}.project-title p{max-width:720px;margin:0;font-size:clamp(18px,1.65vw,22px);line-height:1.55}.project-note{border-left:1px solid var(--line);align-self:end;padding-left:clamp(24px,3vw,40px)}.project-note>p{color:var(--muted);margin:0;font-size:15px;line-height:1.75}.tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.tags span{background:var(--panel2);border:1px solid var(--line);color:var(--muted);font:11px var(--font-geist-mono),monospace;border-radius:999px;padding:7px 10px}.project-note>a{border-bottom:1px solid var(--strong);font:12px var(--font-geist-mono),monospace;margin-top:24px;padding-bottom:5px;display:inline-block}.project-note>a:hover{border-color:var(--accent);color:var(--accent)}.gallery,.architecture{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:24px;overflow:hidden}.stage{cursor:grab;perspective:1500px;touch-action:pan-y;position:relative;overflow:hidden}.orbit{border:1px dashed var(--strong);opacity:.55;border-radius:50%;width:80%;height:42%;position:absolute;bottom:-35%;left:10%;transform:rotateX(70deg)}.slide{transform-style:preserve-3d;transition:opacity .42s,transform .56s cubic-bezier(.2,.75,.2,1);position:absolute;top:50%;left:50%}.slide.hidden{pointer-events:none;opacity:0!important}.browser .stage{height:clamp(390px,57vw,700px)}.browser .slide{opacity:calc(1 - var(--distance)*.55);transform:translate(-50%,-50%) translateX(calc(var(--offset)*51%)) translateZ(calc(var(--distance)*-220px)) rotateY(calc(var(--offset)*-13deg)) scale(calc(1 - var(--distance)*.12));width:min(84%,1050px)}.browser{background:var(--panel2);border:1px solid var(--strong);box-shadow:0 32px 76px var(--shadow);border-radius:17px;overflow:hidden}.browser>div{border-bottom:1px solid var(--line);grid-template-columns:10px 10px 10px 1fr;align-items:center;gap:8px;min-height:44px;padding:8px 14px;display:grid}.browser>div i{border-radius:50%;width:9px;height:9px}.browser>div i:first-child{background:#ff6b64}.browser>div i:nth-child(2){background:#f0b94d}.browser>div i:nth-child(3){background:#5bc983}.browser>div span{background:var(--panel);border:1px solid var(--line);color:var(--sub);font:10px var(--font-geist-mono),monospace;text-align:center;border-radius:7px;margin-left:12px;padding:5px}.browser figure{background:var(--image);justify-content:center;align-items:center;height:clamp(300px,45vw,590px);margin:0;display:flex;overflow:hidden}.browser figure img{object-fit:contain;width:100%;height:100%}.phone .stage{height:clamp(570px,59vw,700px)}.phone .slide{opacity:calc(1 - var(--distance)*.46);transform:translate(-50%,-50%) translateX(calc(var(--offset)*220px)) translateZ(calc(var(--distance)*-150px)) rotateY(calc(var(--offset)*-20deg)) scale(calc(1 - var(--distance)*.12));width:clamp(205px,22vw,262px)}.phone{box-shadow:0 35px 75px var(--shadow),inset 0 0 0 5px #20252b;background:#101317;border:1px solid #ffffff3b;border-radius:38px;padding:28px 9px 23px;position:relative;overflow:hidden}.phone>i{z-index:2;background:#080a0c;border-radius:0 0 13px 13px;width:42%;height:20px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.phone img{background:var(--image);object-fit:contain;border-radius:22px;width:100%;height:auto;max-height:594px}.phone>b{background:#fff8;border-radius:9px;width:30%;height:4px;position:absolute;bottom:9px;left:35%}.media .stage{height:clamp(450px,59vw,690px)}.media .slide{opacity:calc(1 - var(--distance)*.5);transform:translate(-50%,-50%) translateX(calc(var(--offset)*46%)) translateZ(calc(var(--distance)*-180px)) rotateY(calc(var(--offset)*-11deg));width:min(86%,1040px)}.media{background:var(--image);border:1px solid var(--strong);box-shadow:0 34px 76px var(--shadow);border-radius:18px;justify-content:center;align-items:center;height:clamp(380px,48vw,600px);padding:18px;display:flex;overflow:hidden}.media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.gallery-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:90px;padding:18px clamp(18px,3vw,34px);display:flex}.gallery-meta small,.gallery-meta strong{display:block}.gallery-meta small{color:var(--sub);font:11px var(--font-geist-mono),monospace;text-transform:uppercase}.gallery-meta strong{margin-top:4px;font-size:16px}.controls{align-items:center;gap:10px;display:flex}.controls button{border:1px solid var(--strong);cursor:pointer;background:0 0;border-radius:50%;width:42px;height:42px;font-size:18px}.controls button:hover{background:var(--accent);color:var(--accentInk)}.controls span{color:var(--muted);font:12px var(--font-geist-mono),monospace;text-align:center;min-width:50px}.architecture>header{border-bottom:1px solid var(--line);color:var(--sub);font:12px var(--font-geist-mono),monospace;justify-content:space-between;padding:16px 20px;display:flex}.arch-grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;grid-template-columns:repeat(2,1fr);gap:36px 56px;min-height:590px;padding:clamp(36px,6vw,82px);display:grid;position:relative}.arch-grid article{background:var(--panel);border:1px solid var(--strong);box-shadow:0 22px 48px var(--shadow);border-radius:16px;align-self:center;min-height:120px;padding:22px}.arch-grid article span{color:var(--accent);font:12px var(--font-geist-mono),monospace}.arch-grid article strong,.arch-grid article small{display:block}.arch-grid article strong{margin-top:6px;font-size:20px}.arch-grid article small{color:var(--muted);font:12px var(--font-geist-mono),monospace;margin-top:4px}.arch-log{color:#aab7af;font:11px var(--font-geist-mono),monospace;background:#05090ddd;border:1px solid #ffffff20;border-radius:12px;width:70%;padding:10px 16px;position:absolute;bottom:22px;left:15%}.arch-log p{margin:3px}.arch-log b{color:#82edc5;font-weight:400}.experience{border-top:1px solid var(--line)}.experience>header,.stack>header{grid-template-columns:1fr minmax(280px,.55fr);gap:80px;margin:36px 0 74px;display:grid}.experience>header p,.stack>header p{margin-top:8px}.experience>div{border-top:1px solid var(--strong)}.experience article{border-bottom:1px solid var(--line);grid-template-columns:44px 180px minmax(250px,.7fr) 1fr;align-items:start;gap:28px;padding:38px 0;display:grid}.experience article>b,.experience article time{color:var(--sub);font:12px var(--font-geist-mono),monospace;font-weight:400}.experience h3{letter-spacing:-.04em;margin:0;font-size:clamp(22px,2.2vw,32px);line-height:1.2}.experience h3 span{color:var(--accent);font:12px var(--font-geist-mono),monospace;text-transform:uppercase;margin-top:8px;display:block}.experience article>p{color:var(--muted);margin:0;font-size:15px;line-height:1.75}.stack{background:var(--panel);border-block:1px solid var(--line);max-width:none}.stack>*{max-width:calc(var(--max) - var(--pad)*2);margin-inline:auto}.stack-grid{border:1px solid var(--strong);border-radius:22px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.stack-grid article{border-right:1px solid var(--line);min-height:430px;padding:clamp(28px,4vw,48px)}.stack-grid article:last-child{border:0}.stack-grid article>span{color:var(--accent);font:12px var(--font-geist-mono),monospace}.stack-grid h3{letter-spacing:-.045em;margin:68px 0 20px;font-size:clamp(27px,2.8vw,40px)}.stack-grid article>p{color:var(--muted);min-height:110px;font-size:15px;line-height:1.75}.stack-grid .tags{margin-top:36px}.contact{background:var(--contact);color:var(--contactText);max-width:none;min-height:720px;padding-top:110px;padding-bottom:100px}.contact>*{max-width:calc(var(--max) - var(--pad)*2);margin-inline:auto}.contact>small{color:var(--contactMuted);display:block}.contact h2{letter-spacing:-.07em;margin:90px auto 0;font-size:clamp(54px,7.7vw,116px);line-height:.96}.contact>p{color:var(--contactMuted);margin:34px auto;font-size:17px;line-height:1.75}.contact>a{font:clamp(13px,1.5vw,18px) var(--font-geist-mono),monospace;border-bottom:1px solid;padding-bottom:7px}.contact>div{gap:30px;margin-top:70px;display:flex}.contact>div a{color:var(--contactMuted);font:12px var(--font-geist-mono),monospace}.site-footer{background:var(--bg);min-height:130px;padding-inline:var(--pad);justify-content:space-between;align-items:center;display:flex}.site-footer>div{align-items:center;gap:12px;display:flex}.site-footer strong{font-size:14px}.site-footer p,.site-footer>a{color:var(--sub);font:11px var(--font-geist-mono),monospace}.reveal{opacity:0;transition:opacity .7s,transform .8s;transform:translateY(28px)}.reveal.shown{opacity:1;transform:none}@media (width<=1180px){.hero{grid-template-columns:1fr minmax(330px,.66fr)}.hero h1{font-size:clamp(56px,7vw,82px)}.skills-heading{grid-template-columns:150px 1fr 160px}.project-head{grid-template-columns:85px 1fr}.project-note{grid-column:2}.experience article{grid-template-columns:40px 150px minmax(230px,.7fr) 1fr}}@media (width<=920px){:root{--navH:72px}.nav{grid-template-columns:1fr auto auto}.menu{flex-direction:column;justify-content:center;align-items:center;gap:6px;width:42px;height:42px;margin-right:8px;display:flex}.menu i{background:var(--text);width:20px;height:1px}.links{background:var(--nav);border-bottom:1px solid var(--line);opacity:0;padding:18px var(--pad) 28px;pointer-events:none;left:0;top:var(--navH);flex-direction:column;gap:0;width:100%;transition:all .18s;position:absolute;transform:translateY(-10px)}.links.open{opacity:1;pointer-events:auto;transform:none}.links a{border-bottom:1px solid var(--line);padding:14px 2px;font-size:14px}.hero{grid-template-columns:1fr;min-height:auto}.profile{min-height:570px;transform:none}.proof{grid-template-columns:repeat(2,1fr)}.proof>div:nth-child(2){border-right:0}.proof>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.skills-heading{grid-template-columns:1fr}.skills-heading>aside{border-left:0;border-top:1px solid var(--strong);align-items:center;gap:25px;padding-top:22px;padding-left:0;display:flex}.skills-heading>aside p{max-width:280px}.globe-scene{height:680px}.skill-categories{grid-template-columns:repeat(2,1fr)}.skill-categories article{border-bottom:1px solid var(--line)}.skill-categories article:nth-child(2){border-right:1px solid var(--line)}.intro{grid-template-columns:1fr}.work-layout{grid-template-columns:76px 1fr;gap:28px}.years>small{display:none}.year-track{left:12px}.experience>header,.stack>header{grid-template-columns:1fr}.experience article{grid-template-columns:36px 160px 1fr}.experience article>p{grid-column:3}.stack-grid{grid-template-columns:1fr}.stack-grid article{border-bottom:1px solid var(--line);border-right:0;min-height:auto}.stack-grid article>p{min-height:auto}}@media (width<=680px){:root{--pad:20px}body{font-size:16px}.brand strong,.resume{display:none}.theme{min-width:78px;padding-inline:12px}.hero{padding-top:calc(var(--navH) + 72px)}.status{align-items:flex-start;font-size:11px;line-height:1.5}.hero h1{font-size:clamp(48px,14vw,70px)}.lede{font-size:19px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions a:last-child{text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.profile{min-height:610px}.profile>header,.profile>footer{font-size:10px}.proof{grid-template-columns:1fr}.proof>div{border-bottom:1px solid var(--line);border-right:0;min-height:115px}.skills-universe{padding-block:100px}.skills-heading h2{font-size:47px}.skills-heading>div p{font-size:16px}.globe-wrap{border-radius:18px;margin-left:-8px;margin-right:-8px}.globe-hud{padding-inline:12px;font-size:8px}.globe-scene{height:500px}.globe-scene:before{width:86%;height:76%}.globe-core{width:118px;height:118px}.tech-node{border-radius:13px;width:48px;height:48px}.tech-node svg{width:24px;height:24px}.tech-glyph{font-size:11px}.globe-legend{gap:15px}.globe-legend span{font-size:8px}.globe-legend span:nth-child(3){display:none}.skill-categories{grid-template-columns:1fr}.skill-categories article,.skill-categories article:nth-child(2){border-right:1px solid var(--line)}.skill-modal{padding:10px}.skill-modal>section{border-radius:15px;max-height:97svh}.skill-modal>section>header b{display:none}.skill-identity{gap:17px}.skill-big-mark{border-radius:14px;flex-basis:70px;height:70px}.skill-big-mark svg{width:36px;height:36px}.skill-identity h3{font-size:38px}.skill-readout p{font-size:15px}.skill-missions article{grid-template-columns:28px 1fr}.skill-missions article i{display:none}.skill-modal footer{flex-direction:column;align-items:flex-start}.intro{padding-top:100px}.intro h2,.experience>header h2,.stack>header h2{font-size:43px}.work-layout{grid-template-columns:42px 1fr;gap:10px;padding-left:10px;padding-right:12px}.years{min-height:440px}.year-track{width:42px;left:0}.year-track a{gap:6px;font-size:9px}.year-track a i{width:9px;height:9px}.year-track:before,.year-track>b{left:4px}.project{padding-top:78px;padding-bottom:120px}.project-head{grid-template-columns:1fr}.project-id{max-width:130px}.project-title h3{font-size:clamp(38px,11vw,56px)}.project-title p{font-size:17px}.project-note{border-left:0;border-top:1px solid var(--line);grid-column:auto;padding-top:24px;padding-left:0}.gallery,.architecture{border-radius:16px}.browser .stage{height:360px}.browser .slide{transform:translate(-50%,-50%) translateX(calc(var(--offset)*61%)) rotateY(calc(var(--offset)*-16deg)) scale(calc(1 - var(--distance)*.16));width:93%}.browser>div{grid-template-columns:7px 7px 7px 1fr;min-height:34px}.browser>div i{width:6px;height:6px}.browser>div span{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.browser figure{height:270px}.phone .stage{height:550px}.phone .slide{transform:translate(-50%,-50%) translateX(calc(var(--offset)*145px)) translateZ(calc(var(--distance)*-100px)) rotateY(calc(var(--offset)*-19deg)) scale(calc(1 - var(--distance)*.15));width:202px}.media .stage{height:420px}.media .slide{transform:translate(-50%,-50%) translateX(calc(var(--offset)*55%)) rotateY(calc(var(--offset)*-14deg));width:92%}.media{height:350px;padding:10px}.gallery-meta{flex-direction:column;align-items:flex-start;gap:16px}.controls{justify-content:space-between;width:100%}.arch-grid{grid-template-columns:1fr;min-height:680px;padding:24px 18px 124px}.arch-grid article{min-height:105px}.arch-log{width:calc(100% - 28px);font-size:8px;bottom:14px;left:14px;overflow:hidden}.arch-log p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experience,.stack{padding-block:100px}.experience article{grid-template-columns:32px 1fr}.experience article time,.experience article h3,.experience article>p{grid-column:2}.contact{min-height:680px;padding-block:90px}.contact h2{margin-top:70px;font-size:clamp(48px,14vw,68px)}.contact>a{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.site-footer{flex-direction:column;align-items:flex-start;gap:22px;padding-block:32px}}@media (width<=1180px){.hero{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);gap:24px}.hero h1{font-size:clamp(47px,5vw,64px)}.ship-grid article{padding:11px 9px}.ship-grid strong{font-size:11px}.hero-globe .globe-scene{height:500px}}@media (width<=920px){.hero{min-height:auto;padding-bottom:54px;padding-top:calc(var(--navH) + 20px);grid-template-columns:1fr}.hero-copy{padding-top:0}.hero h1{max-width:780px;font-size:clamp(54px,8.5vw,76px)}.ship-console{max-width:780px}.hero-globe{width:100%;max-width:690px;margin:30px auto 0}.hero-globe .globe-scene{height:590px}}@media (width<=680px){.hero{padding-top:calc(var(--navH) + 14px)}.hero .status{margin-bottom:14px}.hero h1{font-size:clamp(43px,12.5vw,56px)}.hero .lede{margin-top:15px;font-size:17px}.ship-console{margin-top:18px}.ship-grid{grid-template-columns:1fr}.ship-grid article{border-bottom:1px solid var(--line);border-right:0;grid-template-columns:28px 1fr;align-items:start;gap:8px;min-height:auto;padding:10px 13px;display:grid}.ship-grid article:last-child{border-bottom:0}.ship-grid strong{margin-top:0}.ship-grid p{grid-column:2}.ship-console>footer{font-size:8px}.hero-globe>header{flex-direction:column;align-items:start;gap:5px}.hero-globe>header p{text-align:left}.hero-globe .globe-wrap{margin-inline:-8px}.hero-globe .globe-scene{height:470px}.hero-globe .tech-node{width:37px;height:37px}.hero-globe .tech-node svg{width:20px;height:20px}.hero-globe .globe-core{width:108px;height:108px}.skill-missions article{grid-template-columns:24px 1fr}.skill-missions article>i{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.reveal{opacity:1;transform:none}}.brand img,.site-footer>div img{object-fit:cover;border-radius:10px;width:42px;height:42px}.nav .brand strong{font-size:15.75px}.site-footer>div strong{font-size:14.7px}.proof{background:linear-gradient(110deg,var(--panel),var(--bg) 68%)}.proof>article{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:148px;padding:26px clamp(24px,3.4vw,50px);display:flex}.proof>article p{flex-wrap:wrap;align-items:baseline;gap:5px 10px;margin:13px 0 0;line-height:1.25;display:flex}.proof>article strong{color:var(--accent);letter-spacing:-.045em;font-size:clamp(25px,2.5vw,38px);font-weight:610;line-height:1}.proof>article span{color:var(--text);max-width:220px;font-size:clamp(15px,1.25vw,18px);font-weight:470;line-height:1.35}.intro{grid-template-columns:150px minmax(0,1fr);align-items:end;gap:clamp(34px,5vw,72px);padding-top:clamp(52px,6vw,78px);padding-bottom:clamp(42px,5vw,64px)}.intro h2{font-size:clamp(38px,4.5vw,64px)}.intro p{max-width:760px;margin:18px 0 0;font-size:16px;line-height:1.65}.work-layout{grid-template-columns:64px minmax(0,1fr);gap:clamp(22px,3vw,42px);padding-bottom:70px}.projects{min-width:0}.years{height:calc(100svh - var(--navH) - 36px);min-height:520px;top:calc(var(--navH) + 18px)}.years>small{writing-mode:horizontal-tb;font-size:9px;position:static}.year-track{width:56px;height:calc(100% - 42px);margin-top:17px;position:relative;top:auto;bottom:auto;left:auto}.project-frame,.project-visual{min-width:0}@media (width>=1050px){.project{min-height:calc(100svh - var(--navH));scroll-margin-top:var(--navH);padding:28px 0}.project:first-child{padding-top:28px}.project-frame{min-height:calc(100svh - var(--navH) - 57px);grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(28px,3vw,48px);display:grid}.project-head{flex-direction:column;align-self:center;gap:0;max-width:460px;margin:0;display:flex}.project-id{grid-template-columns:auto 1fr;max-width:150px;margin-bottom:clamp(26px,4vh,42px)}.project-title h3{margin:14px 0 18px;font-size:clamp(42px,4.1vw,62px)}.project-title p{font-size:clamp(17px,1.35vw,20px);line-height:1.48}.project-note{border-left:0;border-top:1px solid var(--line);align-self:auto;margin-top:clamp(24px,3.3vh,34px);padding-top:clamp(20px,2.8vh,28px);padding-left:0}.project-note>p{font-size:14px;line-height:1.62}.project-note>a{margin-top:18px}.tags{gap:6px;margin-top:17px}.tags span{padding:6px 8px;font-size:9px}.project-visual{align-self:center;width:100%}.project-visual .gallery,.project-visual .architecture{border-radius:20px;width:100%}.project-visual .browser .stage{height:clamp(330px,49svh,500px)}.project-visual .browser figure{height:clamp(250px,40svh,415px)}.project-visual .phone .stage{height:clamp(440px,61svh,565px)}.project-visual .phone .slide{width:clamp(185px,17vw,238px)}.project-visual .phone img{max-height:475px}.project-visual .media .stage{height:clamp(370px,53svh,520px)}.project-visual .media{height:clamp(310px,44svh,445px)}.project-visual .gallery.media{align-items:initial;height:auto;padding:0;display:block}.project-visual .gallery-meta{min-height:70px;padding:12px clamp(16px,2vw,24px)}.project-visual .gallery-meta strong{font-size:14px}.project-visual .controls button{width:36px;height:36px}.project-visual .architecture>header{padding:12px 17px}.project-visual .arch-grid{gap:22px 30px;min-height:clamp(430px,62svh,555px);padding:clamp(28px,4vh,46px)}.project-visual .arch-grid article{min-height:98px;padding:17px}.project-visual .arch-log{bottom:15px}}@media (width<=1049px){.project-frame{display:block}.project-visual{width:100%}}@media (width<=920px){.proof>article:nth-child(2){border-right:0}.proof>article:nth-child(-n+2){border-bottom:1px solid var(--line)}.intro{grid-template-columns:1fr;gap:20px;padding-block:52px}.work-layout{grid-template-columns:58px minmax(0,1fr);gap:20px}.years>small{display:block}.year-track{left:0}}@media (width<=680px){.proof>article{border-bottom:1px solid var(--line);min-height:126px;padding:22px var(--pad);border-right:0}.proof>article:last-child{border-bottom:0}.proof>article p{margin-top:10px}.proof>article strong{font-size:30px}.proof>article span{max-width:none;font-size:16px}.intro{padding-top:46px;padding-bottom:42px}.intro h2{font-size:clamp(38px,11vw,50px)}.intro p{font-size:15px}.work-layout{grid-template-columns:42px minmax(0,1fr);gap:8px;padding-left:10px;padding-right:12px}.years{height:calc(100svh - var(--navH) - 24px);min-height:440px;top:calc(var(--navH) + 12px)}.years>small{display:none}.year-track{width:42px;height:100%;margin-top:0}}.themed-icon{color:var(--icon-dark);transition:color .22s,filter .22s}.material-mark.themed-icon{color:var(--icon-dark)}:root[data-theme=light] .themed-icon,:root[data-theme=light] .material-mark.themed-icon{color:var(--icon-light)}.brand-badge{font:800 9px var(--font-geist-mono),monospace;letter-spacing:-.04em;text-transform:none;border:1px solid;border-radius:7px;justify-content:center;align-items:center;width:27px;height:27px;line-height:1;display:flex}.skill-big-mark .brand-badge{border-radius:11px;width:48px;height:48px;font-size:15px}.hero-globe{padding:2px}.hero-globe .globe-wrap{margin:2px}@media (width>=1181px){.hero{grid-template-columns:minmax(0,1fr) minmax(510px,1fr);gap:clamp(24px,3vw,44px)}.hero-globe .globe-scene{height:clamp(486px,39vw,568px)}}@media (width>=921px) and (width<=1180px){.hero{grid-template-columns:minmax(0,1fr) minmax(450px,.88fr)}.hero-globe .globe-scene{height:540px}}:root[data-theme=dark] .themed-icon{filter:drop-shadow(0 0 10px)saturate(1.32)contrast(1.12)}:root[data-theme=dark] .brand-vivid:not(.themed-icon){filter:drop-shadow(0 0 10px #70b5ff80)saturate(1.28)contrast(1.12)}.skill-modal{opacity:0;perspective:1400px;transition:opacity .3s,-webkit-backdrop-filter .4s,backdrop-filter .4s}.skill-modal[data-state=open]{opacity:1}.skill-modal[data-state=closing]{opacity:0;transition-delay:.12s}.skill-modal>section{clip-path:inset(47% 2% round 22px);filter:blur(12px)saturate(1.45);opacity:0;transform-origin:50% 42%;transition:clip-path .62s cubic-bezier(.16,1,.3,1),filter .5s,opacity .28s,transform .62s cubic-bezier(.16,1,.3,1);transform:translate3d(0,34px,-120px)rotateX(-10deg)scale(.84)}.skill-modal[data-state=open]>section{clip-path:inset(0 round 22px);filter:none;opacity:1;transform:translate(0)rotateX(0)scale(1)}.skill-modal[data-state=closing]>section{clip-path:inset(46% 3% round 18px);filter:blur(9px)saturate(1.35);opacity:0;transition-duration:.38s;transform:translate3d(0,-18px,-80px)rotateX(7deg)scale(.92)}.skill-modal>section:before{background:linear-gradient(115deg,transparent 28%,var(--accent) 48%,transparent 68%)}@supports (color:color-mix(in lab, red, red)){.skill-modal>section:before{background:linear-gradient(115deg,transparent 28%,color-mix(in srgb,var(--accent) 30%,transparent) 48%,transparent 68%)}}.skill-modal>section:before{content:"";opacity:0;pointer-events:none;z-index:4;position:absolute;inset:0;transform:translate(-100%)}.skill-modal[data-state=open]>section:before{animation:.82s cubic-bezier(.2,.8,.2,1) 80ms codex-flash}.skill-modal .modal-scan{transform-origin:50%;transform:scaleX(0)}.skill-modal[data-state=open] .modal-scan{animation:.72s cubic-bezier(.16,1,.3,1) .16s both codex-scan}.skill-modal>section>header,.skill-modal .skill-identity,.skill-modal .skill-readout,.skill-modal .skill-missions,.skill-modal>section>footer{opacity:0;transition:opacity .36s,transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(14px)}.skill-modal[data-state=open]>section>header,.skill-modal[data-state=open] .skill-identity,.skill-modal[data-state=open] .skill-readout,.skill-modal[data-state=open] .skill-missions,.skill-modal[data-state=open]>section>footer{opacity:1;transform:none}.skill-modal[data-state=open]>section>header{transition-delay:.12s}.skill-modal[data-state=open] .skill-identity{transition-delay:.18s}.skill-modal[data-state=open] .skill-readout{transition-delay:.24s}.skill-modal[data-state=open] .skill-missions{transition-delay:.29s}.skill-modal[data-state=open]>section>footer{transition-delay:.34s}.skill-modal[data-state=closing]>section>header,.skill-modal[data-state=closing] .skill-identity,.skill-modal[data-state=closing] .skill-readout,.skill-modal[data-state=closing] .skill-missions,.skill-modal[data-state=closing]>section>footer{opacity:0;transition-duration:.18s;transition-delay:0s;transform:translateY(-8px)}.skill-modal[data-state=open] .skill-big-mark{animation:.72s cubic-bezier(.16,1,.3,1) .2s both codex-mark}@keyframes codex-flash{0%{opacity:0;transform:translate(-105%)}35%{opacity:1}to{opacity:0;transform:translate(105%)}}@keyframes codex-scan{0%{opacity:0;transform:scaleX(0)}35%{opacity:1;transform:scaleX(1)}to{opacity:.7;transform:scaleX(1)}}@keyframes codex-mark{0%{box-shadow:inset 0 0 32px var(--globeBeam);transform:scale(.7)rotate(-8deg)}55%{box-shadow:inset 0 0 32px var(--globeBeam),0 0 0 10px var(--soft),0 0 45px var(--globeBeam);transform:scale(1.08)rotate(2deg)}to{box-shadow:inset 0 0 32px var(--globeBeam);transform:none}}.work-layout.shell{max-width:none;margin-inline:0;padding-left:clamp(8px,1vw,16px);padding-right:clamp(22px,3vw,48px)}.work-layout{grid-template-columns:64px minmax(0,1fr);gap:clamp(16px,2vw,30px)}.year-track{margin-left:0}.expand-hint{background:var(--panel);align-items:center}@supports (color:color-mix(in lab, red, red)){.expand-hint{background:color-mix(in srgb,var(--panel) 78%,transparent)}}.expand-hint{border:1px solid var(--line);color:var(--muted);font:9px var(--font-geist-mono),monospace;letter-spacing:.04em;pointer-events:none;text-transform:uppercase;z-index:30;border-radius:999px;gap:8px;padding:7px 10px;display:flex;position:absolute;top:14px;right:14px}.expand-hint b{color:var(--accent);font-size:13px;font-weight:400}.controls .expand-control{border-color:var(--accent);color:var(--accent);margin-left:3px;font-size:21px}body.lightbox-open{overflow:hidden}.mockup-lightbox{background:var(--bg);animation:.3s both lightbox-backdrop-in}@supports (color:color-mix(in lab, red, red)){.mockup-lightbox{background:color-mix(in srgb,var(--bg) 72%,transparent)}}.mockup-lightbox{-webkit-backdrop-filter:blur(24px)saturate(1.12);backdrop-filter:blur(24px)saturate(1.12);z-index:1600;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(14px,2vw,28px);display:grid;position:fixed;inset:0}.mockup-lightbox[data-state=closing]{animation:.28s both lightbox-backdrop-out}.mockup-lightbox>header,.mockup-lightbox>footer{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.mockup-lightbox>header{border-bottom:1px solid var(--line);padding-bottom:12px}.mockup-lightbox>header small,.mockup-lightbox>header strong{display:block}.mockup-lightbox>header small{color:var(--accent);font:9px var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase}.mockup-lightbox>header strong{margin-top:3px;font-size:clamp(15px,1.5vw,20px)}.mockup-lightbox>header>button{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.mockup-lightbox>header>button{background:color-mix(in srgb,var(--panel) 74%,transparent)}}.mockup-lightbox>header>button{border:1px solid var(--strong);cursor:pointer;border-radius:50%;width:46px;height:46px;font-size:26px;line-height:1}.mockup-lightbox>header>button:hover{background:var(--accent);color:var(--accentInk)}.lightbox-canvas{overscroll-behavior:contain;place-items:center;min-height:0;padding:clamp(14px,2vh,26px);display:grid;overflow:auto}.lightbox-frame{filter:drop-shadow(0 36px 80px var(--shadow));transform-origin:50%;max-width:100%;max-height:100%;animation:.52s cubic-bezier(.16,1,.3,1) both lightbox-frame-in}.lightbox-browser .browser figure{height:min(72svh,900px)}.lightbox-browser .browser figure img{object-fit:contain;width:100%;height:100%}.lightbox-phone .phone img{object-fit:contain;max-height:72svh}.lightbox-media .media{width:100%;height:min(74svh,880px);padding:20px}.lightbox-media .media img{object-fit:contain;max-height:100%}.mockup-lightbox>footer{border-top:1px solid var(--line);padding-top:12px}.mockup-lightbox>footer>span{color:var(--muted);font:10px var(--font-geist-mono),monospace;letter-spacing:.06em;text-transform:uppercase}.mockup-lightbox>footer>div{gap:8px;display:flex}.mockup-lightbox>footer button{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.mockup-lightbox>footer button{background:color-mix(in srgb,var(--panel) 74%,transparent)}}.mockup-lightbox>footer button{border:1px solid var(--strong);cursor:pointer;border-radius:50%;width:40px;height:40px}.mockup-lightbox>footer button:hover{background:var(--accent);color:var(--accentInk)}@keyframes lightbox-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes lightbox-frame-in{0%{filter:blur(12px) drop-shadow(0 10px 28px var(--shadow));opacity:0;transform:perspective(1200px)translateY(30px)rotateX(-5deg)scale(.82)}to{filter:blur(0) drop-shadow(0 36px 80px var(--shadow));opacity:1;transform:none}}@keyframes lightbox-frame-out{0%{opacity:1;transform:none}to{filter:blur(8px);opacity:0;transform:perspective(1200px)translateY(-18px)rotateX(4deg)scale(.92)}}@media (width>=1050px){.project-frame{grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);gap:clamp(28px,2.6vw,46px)}.project-head{max-width:475px}.project-visual .browser .stage{height:clamp(360px,54svh,560px)}.project-visual .browser figure{height:clamp(285px,45svh,480px)}.project-visual .phone .stage{height:clamp(470px,65svh,610px)}.project-visual .phone .slide{width:clamp(205px,18vw,260px)}.project-visual .phone img{max-height:515px}.project-visual .media .stage{height:clamp(400px,57svh,570px)}.project-visual .media{height:clamp(340px,48svh,490px)}.project-visual .gallery.media{height:auto}.project-visual .arch-grid{min-height:clamp(460px,65svh,590px)}}@media (width<=680px){.work-layout.shell{padding-left:6px;padding-right:12px}.expand-hint{display:none}.mockup-lightbox{padding:12px}.mockup-lightbox>header strong{text-overflow:ellipsis;white-space:nowrap;max-width:75vw;font-size:14px;overflow:hidden}.lightbox-canvas{padding:12px 0}.lightbox-browser{width:96vw}.lightbox-browser .browser figure{height:min(68svh,640px)}.lightbox-phone{width:min(310px,84vw)}.lightbox-media{width:94vw}}.experience,.stack{padding-top:clamp(64px,6vw,92px);padding-bottom:clamp(64px,6vw,92px)}.experience>header,.stack>header{gap:clamp(36px,5vw,72px);margin:24px 0 clamp(42px,5vw,62px)}.experience article{padding:32px 0}.gallery.frame-browser,.gallery.frame-phone,.gallery.frame-media{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);box-shadow:none;border-radius:20px;height:auto;padding:0;display:block;overflow:hidden}.gallery.frame-browser .slide{opacity:calc(1 - var(--distance)*.55);transform:translate(-50%,-50%) translateX(calc(var(--offset)*51%)) translateZ(calc(var(--distance)*-220px)) rotateY(calc(var(--offset)*-13deg)) scale(calc(1 - var(--distance)*.12));width:min(88%,1120px)}.gallery.frame-phone .slide{opacity:calc(1 - var(--distance)*.46);transform:translate(-50%,-50%) translateX(calc(var(--offset)*220px)) translateZ(calc(var(--distance)*-150px)) rotateY(calc(var(--offset)*-20deg)) scale(calc(1 - var(--distance)*.12));width:clamp(205px,22vw,262px)}.gallery.frame-media{--media-stage-height:clamp(450px,59vw,690px);--media-stage-inset:48px}.gallery.frame-media>.stage{height:var(--media-stage-height)}.gallery.frame-media .slide{opacity:calc(1 - var(--distance)*.5);transform:translate(-50%,-50%) translateX(calc(var(--offset)*46%)) translateZ(calc(var(--distance)*-180px)) rotateY(calc(var(--offset)*-11deg));width:min(90%,calc((var(--media-stage-height) - var(--media-stage-inset))*var(--screen-ratio)),1120px)}.slide>.browser{box-shadow:0 32px 76px var(--shadow);background:#0a0e13;border-color:#fff3;border-radius:15px;width:100%}.slide>.browser>div{background:linear-gradient(#20262d,#151a20);border-bottom-color:#ffffff1a}.slide>.browser>div span{color:#95a1ad;background:#0c1117;border-color:#ffffff1a}.slide>.browser figure{background:0 0;height:auto!important}.slide>.browser figure img{object-fit:contain;background:0 0;width:100%;height:auto}.slide>.phone,.lightbox-phone>.phone{aspect-ratio:9/19.5;box-shadow:0 35px 78px var(--shadow),inset 0 0 0 2px #383d43,inset 0 0 0 5px #0b0d10;background:#050709;border:1px solid #ffffff61;border-radius:50px;justify-content:center;align-items:center;width:100%;padding:7px;display:flex;position:relative;overflow:hidden}.slide>.phone:before,.lightbox-phone>.phone:before{content:"";z-index:4;background:linear-gradient(#555b62,#171a1e);border-radius:3px 0 0 3px;width:4px;height:46px;position:absolute;top:25%;left:-3px;box-shadow:0 38px #2d3238}.slide>.phone:after,.lightbox-phone>.phone:after{content:"";z-index:4;background:linear-gradient(#555b62,#171a1e);border-radius:0 3px 3px 0;width:4px;height:68px;position:absolute;top:29%;right:-3px}.slide>.phone img,.lightbox-phone>.phone img{object-fit:contain;background:0 0;border-radius:43px;width:100%;height:100%;max-height:100%}.slide>.media{aspect-ratio:var(--screen-aspect);box-shadow:0 30px 70px var(--shadow);background:0 0;border:0;border-radius:16px;width:100%;padding:0;display:block;height:auto!important}.slide>.media img{object-fit:contain;background:0 0;width:100%;height:auto;max-height:none}.stage .slide.active{cursor:pointer}.controls .expand-control{justify-content:center;align-items:center;display:flex}.controls .expand-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px;width:18px;height:18px}.mockup-lightbox{-webkit-backdrop-filter:blur(20px)saturate(1.08);backdrop-filter:blur(20px)saturate(1.08);background:#05090dad}:root[data-theme=light] .mockup-lightbox{background:#e4e6e2b8}.mockup-lightbox>header{pointer-events:none;z-index:5;border:0;padding:0;position:absolute;top:clamp(14px,2vw,28px);right:clamp(14px,2vw,28px)}.mockup-lightbox>header>div{display:none}.mockup-lightbox>header>button{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.mockup-lightbox>header>button{background:color-mix(in srgb,var(--panel) 70%,transparent)}}.mockup-lightbox>header>button{box-shadow:0 12px 34px var(--shadow);pointer-events:auto}.mockup-lightbox>footer{pointer-events:none;z-index:5;border:0;justify-content:center;padding:0;position:absolute;bottom:clamp(15px,2vw,28px);left:50%;transform:translate(-50%)}.mockup-lightbox>footer>span{display:none}.mockup-lightbox>footer>div{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.mockup-lightbox>footer>div{background:color-mix(in srgb,var(--panel) 68%,transparent)}}.mockup-lightbox>footer>div{border:1px solid var(--line);box-shadow:0 14px 38px var(--shadow);pointer-events:auto;border-radius:999px;padding:6px}.lightbox-canvas{grid-row:1/-1;padding:clamp(28px,5vh,62px) clamp(12px,3vw,42px)}.lightbox-browser,.lightbox-browser>.browser{width:fit-content;max-width:92vw}.lightbox-browser .browser figure{background:0 0;height:auto!important}.lightbox-browser .browser figure img{object-fit:contain;background:0 0;width:auto;max-width:92vw;height:auto;max-height:76svh}.lightbox-phone{width:min(360px,72vw)}.lightbox-media{width:fit-content}.lightbox-media>.media{box-shadow:none;background:0 0;border:0;width:fit-content;padding:0;height:auto!important}.lightbox-frame{animation:.62s cubic-bezier(.16,1,.3,1) both mockup-reveal}.mockup-lightbox[data-state=closing] .lightbox-frame{animation:.28s cubic-bezier(.4,0,1,1) both mockup-dismiss}@keyframes mockup-reveal{0%{clip-path:inset(46% 8% round 28px);filter:blur(14px) drop-shadow(0 8px 20px var(--shadow));opacity:0;transform:perspective(1400px)translateY(38px)rotateX(-7deg)scale(.76)}52%{clip-path:inset(0 round 20px);filter:blur(0) drop-shadow(0 42px 95px var(--shadow));opacity:1;transform:perspective(1400px)translateY(-5px)rotateX(1deg)scale(1.025)}to{clip-path:inset(0);filter:drop-shadow(0 36px 82px var(--shadow));opacity:1;transform:none}}@keyframes mockup-dismiss{0%{clip-path:inset(0);filter:drop-shadow(0 36px 82px var(--shadow));opacity:1;transform:none}to{clip-path:inset(44% 10% round 28px);filter:blur(10px);opacity:0;transform:perspective(1200px)translateY(-24px)rotateX(5deg)scale(.86)}}@media (width>=1050px){.project-visual .frame-browser>.stage{height:clamp(370px,55svh,590px)}.project-visual .frame-browser .slide{width:min(91%,1220px)}.project-visual .frame-phone>.stage{height:clamp(500px,68svh,635px)}.project-visual .frame-phone .slide{width:clamp(218px,18.5vw,274px)}.project-visual .frame-media{--media-stage-height:clamp(410px,59svh,590px)}.project-visual .frame-media>.stage{height:var(--media-stage-height)}.project-visual .frame-media .slide{width:min(93%,calc((var(--media-stage-height) - var(--media-stage-inset))*var(--screen-ratio)),1220px)}}@media (width<=680px){.experience,.stack{padding-block:64px}.experience>header,.stack>header{gap:22px;margin:20px 0 38px}.experience article{padding:28px 0}.gallery.frame-browser>.stage{height:360px}.gallery.frame-browser .slide{transform:translate(-50%,-50%) translateX(calc(var(--offset)*61%)) rotateY(calc(var(--offset)*-16deg)) scale(calc(1 - var(--distance)*.16));width:93%}.gallery.frame-phone>.stage{height:550px}.gallery.frame-phone .slide{transform:translate(-50%,-50%) translateX(calc(var(--offset)*145px)) translateZ(calc(var(--distance)*-100px)) rotateY(calc(var(--offset)*-19deg)) scale(calc(1 - var(--distance)*.15));width:202px}.gallery.frame-media{--media-stage-height:420px;--media-stage-inset:32px}.gallery.frame-media>.stage{height:var(--media-stage-height)}.gallery.frame-media .slide{transform:translate(-50%,-50%) translateX(calc(var(--offset)*55%)) rotateY(calc(var(--offset)*-14deg));width:min(92%,calc((var(--media-stage-height) - var(--media-stage-inset))*var(--screen-ratio)))}.slide>.phone{border-radius:43px}.slide>.phone img{border-radius:36px}.lightbox-phone{width:min(330px,82vw)}.lightbox-canvas{padding:44px 0 64px}}.proof{grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.proof>article{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-width:0;min-height:142px;padding:24px clamp(18px,2.4vw,38px);display:flex}.proof>article:last-child{border-right:0}.proof>article>small{color:var(--sub);font:10px var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase}.proof>article p{white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:8px;min-width:0;margin:13px 0 0;line-height:1;display:flex}.proof>article strong{color:var(--accent);letter-spacing:-.045em;white-space:nowrap;font-size:clamp(25px,2.25vw,34px);font-weight:620;line-height:1}.proof>article span{color:var(--text);white-space:nowrap;font-size:clamp(11px,1vw,14px);font-weight:480;line-height:1.2}.project-title h3{margin-bottom:14px}.project-affiliation{--flag-color:var(--accent);background:var(--flag-color);align-items:center}@supports (color:color-mix(in lab, red, red)){.project-affiliation{background:color-mix(in srgb,var(--flag-color) 11%,var(--panel))}}.project-affiliation{border:1px solid var(--flag-color)}@supports (color:color-mix(in lab, red, red)){.project-affiliation{border:1px solid color-mix(in srgb,var(--flag-color) 55%,var(--line))}}.project-affiliation{box-shadow:0 10px 28px var(--flag-color);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.project-affiliation{box-shadow:0 10px 28px color-mix(in srgb,var(--flag-color) 13%,transparent)}}.project-affiliation{color:var(--flag-color);font:650 9px var(--font-geist-mono),monospace;letter-spacing:.09em;text-transform:uppercase;gap:8px;padding:7px 11px;display:inline-flex;position:relative;overflow:hidden;transform:translateY(0)}.project-affiliation[data-kind=company]{--flag-color:var(--accent)}.project-affiliation[data-kind=open-source]{--flag-color:var(--blue)}.project-affiliation[data-kind=personal]{--flag-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-affiliation[data-kind=personal]{--flag-color:color-mix(in srgb,var(--accent) 68%,var(--blue))}}.project-affiliation>i{background:currentColor;border-radius:50%;box-shadow:0 0 0 4px}@supports (color:color-mix(in lab, red, red)){.project-affiliation>i{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}}.project-affiliation>i{width:6px;height:6px}.project-affiliation:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff9e 50%,#0000 70%);animation:2.7s ease-in-out infinite project-flag-shimmer;position:absolute;inset:-80% -45%;transform:translate(-70%)rotate(10deg)}.project-affiliation+p{margin-top:20px}@keyframes project-flag-shimmer{0%,35%{transform:translate(-75%)rotate(10deg)}75%,to{transform:translate(75%)rotate(10deg)}}.tags span{transition:background .22s,border-color .22s,box-shadow .24s,color .22s,transform .24s cubic-bezier(.16,1,.3,1)}.tags span:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tags span:hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel2))}}.tags span:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tags span:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--line))}}.tags span:hover{box-shadow:0 12px 28px var(--shadow),0 0 0 3px var(--soft);color:var(--text);transform:translateY(-4px)}.project-capabilities{background:linear-gradient(135deg,var(--panel),var(--panel2))}@supports (color:color-mix(in lab, red, red)){.project-capabilities{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 90%,transparent))}}.project-capabilities{border:1px solid var(--line);border-radius:18px;margin-top:14px;padding:14px 16px 16px;position:relative;overflow:visible}.project-capabilities>header{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.project-capabilities>header span{color:var(--accent);font:650 9px var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase}.project-capabilities>header small{color:var(--sub);font:8px var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase}.project-capabilities ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-capabilities li{position:relative}.project-capabilities button{background:var(--globePanel);align-items:center}@supports (color:color-mix(in lab, red, red)){.project-capabilities button{background:color-mix(in srgb,var(--globePanel) 90%,transparent)}}.project-capabilities button{border:1px solid var(--line);box-shadow:inset 0 0 18px var(--globeBeam);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:68px;height:68px;padding:7px;transition:border-color .2s,box-shadow .28s,transform .28s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.project-capabilities button>.brand-mark,.project-capabilities button>.material-mark{filter:drop-shadow(0 0 7px);width:24px;height:24px}.project-capabilities .capability-name{color:var(--muted);font:7px/1.12 var(--font-geist-mono),monospace;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:58px;display:block;overflow:hidden}.project-capabilities button:hover,.project-capabilities button:focus-visible{border-color:var(--accent);box-shadow:0 15px 28px var(--shadow),0 0 0 4px var(--soft),inset 0 0 24px var(--globeBeam);z-index:8;transform:translateY(-7px)}.project-capabilities .capability-label{background:var(--text);box-shadow:0 12px 32px var(--shadow);color:var(--bg);opacity:0;pointer-events:none;text-align:left;z-index:20;border-radius:8px;min-width:max-content;padding:7px 9px;transition:opacity .18s,transform .22s;display:block;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,5px)}.project-capabilities .capability-label strong,.project-capabilities .capability-label small{display:block}.project-capabilities .capability-label strong{font:650 10px var(--font-geist-mono),monospace}.project-capabilities .capability-label small{font:8px var(--font-geist-mono),monospace;opacity:.68;text-transform:uppercase;margin-top:2px}.project-capabilities button:hover .capability-label,.project-capabilities button:focus-visible .capability-label{opacity:1;transform:translate(-50%)}.gallery.frame-browser{--browser-stage-height:clamp(500px,68svh,720px);--browser-stage-inset:64px}.gallery.frame-browser>.stage{height:var(--browser-stage-height)}.gallery.frame-browser .slide{width:min(91%,calc((var(--browser-stage-height) - var(--browser-stage-inset))*var(--screen-ratio)),1220px)}.slide>.browser,.lightbox-browser>.browser{box-shadow:0 34px 82px var(--shadow),inset 0 0 0 1px #ffffff0a;background:#0a0e13;border:1px solid #ffffff38;border-radius:17px;width:100%;overflow:hidden}.slide>.browser>div,.lightbox-browser>.browser>div{background:linear-gradient(#252b32,#151a20);border-bottom:1px solid #ffffff1a;min-height:42px}.slide>.browser>div span,.lightbox-browser>.browser>div span{color:#aab4bf;background:#0d1218;border-color:#ffffff1f}.slide>.browser figure,.lightbox-browser>.browser figure{aspect-ratio:var(--screen-aspect);background:#05080b;width:100%;margin:0;height:auto!important}.slide>.browser figure img,.lightbox-browser>.browser figure img{object-fit:fill;background:0 0;width:100%;height:100%;max-height:none}.gallery.browser-chrome-embedded .slide{width:min(91%,calc((68svh - 40px)*var(--screen-ratio)),1220px)}.gallery.browser-chrome-embedded .slide:not(.active){opacity:calc(.5 - var(--distance)*.275)}.slide>.browser-embedded,.lightbox-browser>.browser-embedded{background:0 0;border-color:#ffffff29;border-radius:13px}.browser-embedded figure{border-radius:12px}.gallery.frame-phone{--phone-stage-height:clamp(570px,70svh,680px)}.gallery.frame-phone>.stage{height:var(--phone-stage-height)}.gallery.frame-phone.is-landscape>.stage{height:clamp(390px,52svh,540px)}.gallery.frame-phone .slide-portrait{width:clamp(218px,18.5vw,274px)}.project:not(#weather) .gallery.frame-phone .slide-portrait{width:min(clamp(218px,18.5vw,274px),calc((var(--phone-stage-height) - 42px)*var(--screen-ratio) + 14px))}.gallery.frame-phone .slide-landscape{width:min(84%,900px);transform:translate(-50%,-50%) translateX(calc(var(--offset)*50%)) translateZ(calc(var(--distance)*-170px)) rotateY(calc(var(--offset)*-16deg)) scale(calc(1 - var(--distance)*.11))}.slide>.phone,.lightbox-phone>.phone{aspect-ratio:auto;box-shadow:0 36px 82px var(--shadow),inset 0 0 0 2px #353a40,inset 0 0 0 6px #080a0c;background:linear-gradient(145deg,#3d4248,#080a0d 20%,#030405 80%,#343a40);border:1px solid #ffffff75;border-radius:46px;width:100%;padding:7px;display:block;position:relative;overflow:visible}.slide>.phone figure,.lightbox-phone>.phone figure{aspect-ratio:var(--screen-aspect);border-radius:39px;width:100%;margin:0;position:relative;overflow:hidden}.slide>.phone figure img,.lightbox-phone>.phone figure img{object-fit:fill;background:#05070a;border-radius:0;width:100%;height:100%;max-height:none}.slide>.phone>i,.lightbox-phone>.phone>i{z-index:3;background:#050608;border:1px solid #ffffff17;border-radius:999px;width:31%;height:23px;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #11151a}.slide>.phone>i:after,.lightbox-phone>.phone>i:after{content:"";background:#101d2a;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px;box-shadow:inset 0 0 0 1px #31536d}.slide>.phone>b,.lightbox-phone>.phone>b{z-index:3;background:#ffffffd1;border-radius:999px;width:30%;height:4px;position:absolute;bottom:13px;left:35%}.slide>.phone-landscape,.lightbox-phone>.phone-landscape{border-radius:34px}.slide>.phone-landscape figure,.lightbox-phone>.phone-landscape figure{border-radius:27px}.slide>.phone-landscape>i,.lightbox-phone>.phone-landscape>i{width:23px;height:31%;top:50%;left:16px;transform:translateY(-50%)}.slide>.phone-landscape>i:after,.lightbox-phone>.phone-landscape>i:after{inset:auto auto 8px 7px}.slide>.phone-landscape>b,.lightbox-phone>.phone-landscape>b{width:4px;height:30%;bottom:35%;left:auto;right:13px}.slide>.media img{object-fit:fill;width:100%;height:100%}.lightbox-frame{max-width:94vw;max-height:88svh}.lightbox-browser{width:min(92vw,calc(73svh * var(--screen-ratio)))}.lightbox-browser>.browser{width:100%;max-width:none}.lightbox-browser .browser figure img{max-width:none;max-height:none}.lightbox-phone.lightbox-portrait{width:min(370px,78vw,calc(78svh * var(--screen-ratio)))}.lightbox-phone.lightbox-landscape{width:min(92vw,1100px,calc(76svh * var(--screen-ratio)))}.lightbox-media>.media img{object-fit:contain;width:auto;max-width:92vw;height:auto;max-height:80svh}.architecture-carousel{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:20px;overflow:hidden}.architecture-stage{cursor:grab;perspective:1600px;touch-action:pan-y;height:clamp(590px,68svh,700px);position:relative;overflow:hidden}.architecture-stage:active{cursor:grabbing}.architecture-orbit{border:1px dashed var(--accent)}@supports (color:color-mix(in lab, red, red)){.architecture-orbit{border:1px dashed color-mix(in srgb,var(--accent) 35%,transparent)}}.architecture-orbit{opacity:.65;border-radius:50%;width:84%;height:42%;position:absolute;bottom:-30%;left:8%;transform:rotateX(70deg)}.architecture-slide{height:calc(100% - 58px);opacity:calc(1 - var(--distance)*.72);transform:translate(-50%,-50%) translateX(calc(var(--offset)*49%)) translateZ(calc(var(--distance)*-230px)) rotateY(calc(var(--offset)*-14deg)) scale(calc(1 - var(--distance)*.11));transform-style:preserve-3d;width:min(91%,1120px);transition:opacity .42s,transform .58s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:50%}.architecture-slide.hidden{pointer-events:none;opacity:0!important}.architecture-panel{background:linear-gradient(150deg,var(--panel2),var(--panel));border:1px solid var(--strong);box-shadow:0 34px 80px var(--shadow),inset 0 0 80px var(--globeBeam);border-radius:17px;height:100%;overflow:hidden}.architecture-panel>header{border-bottom:1px solid var(--line);font:9px var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:42px;padding:10px 15px;display:flex}.architecture-panel>header span:first-child{color:var(--accent)}.architecture-panel>header span:last-child{color:var(--sub)}.architecture-body{grid-template-columns:minmax(0,1fr);gap:14px;height:calc(100% - 42px);padding:clamp(17px,2.5vw,28px);display:grid;position:relative}.architecture-copy small{color:var(--accent);font:9px var(--font-geist-mono),monospace;letter-spacing:.1em}.architecture-copy h4{letter-spacing:-.045em;margin:7px 0 8px;font-size:clamp(24px,2.7vw,38px);line-height:1.02}.architecture-copy p{color:var(--muted);max-width:760px;margin:0;font-size:12px;line-height:1.55}.architecture-nodes{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.architecture-nodes section{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.architecture-nodes section{background:color-mix(in srgb,var(--panel) 88%,transparent)}}.architecture-nodes section{border:1px solid var(--line);border-radius:11px;min-width:0;padding:11px}.architecture-nodes section>span{color:var(--accent);font:8px var(--font-geist-mono),monospace}.architecture-nodes strong,.architecture-nodes small{display:block}.architecture-nodes strong{margin-top:6px;font-size:12px;line-height:1.25}.architecture-nodes small{color:var(--sub);font:8px/1.4 var(--font-geist-mono),monospace;margin-top:3px}.architecture-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.architecture-metrics>div{border-left:2px solid var(--accent);background:var(--soft)}@supports (color:color-mix(in lab, red, red)){.architecture-metrics>div{background:color-mix(in srgb,var(--soft) 55%,transparent)}}.architecture-metrics>div{padding:9px 10px}.architecture-metrics dt{color:var(--sub);font:7px var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase}.architecture-metrics dd{font:600 10px var(--font-geist-mono),monospace;margin:4px 0 0}.architecture-log{color:#aab7af;font:8px var(--font-geist-mono),monospace;background:#05090ddd;border:1px solid #ffffff1f;border-radius:10px;padding:8px 11px}.architecture-log p{justify-content:space-between;min-width:0;margin:2px 0;display:flex}.architecture-log b{color:#82edc5;white-space:nowrap;margin-left:10px;font-weight:500}.architecture-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:12px clamp(16px,2vw,24px);display:flex}.architecture-meta small,.architecture-meta strong{display:block}.architecture-meta small{color:var(--sub);font:9px var(--font-geist-mono),monospace;text-transform:uppercase}.architecture-meta strong{margin-top:3px;font-size:14px}@media (width<=1180px){.proof{grid-template-columns:repeat(2,minmax(0,1fr))}.proof>article:nth-child(2){border-right:0}.proof>article:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=680px){.proof{grid-template-columns:1fr}.proof>article{border-bottom:1px solid var(--line);min-height:112px;padding:19px var(--pad);border-right:0}.proof>article:last-child{border-bottom:0}.proof>article p{gap:7px;margin-top:9px}.proof>article strong{font-size:24px}.proof>article span{font-size:clamp(10px,3.3vw,13px)}.project-affiliation{font-size:8px}.project-title h3{overflow-wrap:anywhere;font-size:clamp(32px,9.5vw,46px)}.project-capabilities{border-radius:15px;padding:12px 12px 14px}.project-capabilities>header small{display:none}.project-capabilities ul{scrollbar-width:thin;flex-wrap:nowrap;margin-inline:-12px;padding:4px 12px 8px;overflow-x:auto}.project-capabilities button{width:62px;height:62px}.project-capabilities .capability-label{display:none}.gallery.frame-browser{--browser-stage-height:360px;--browser-stage-inset:54px}.gallery.frame-browser>.stage{height:var(--browser-stage-height)}.gallery.frame-browser .slide{width:min(93%,calc((var(--browser-stage-height) - var(--browser-stage-inset))*var(--screen-ratio)))}.gallery.frame-phone{--phone-stage-height:560px}.gallery.frame-phone>.stage{height:var(--phone-stage-height)}.gallery.frame-phone.is-landscape>.stage{height:300px}.gallery.frame-phone .slide-portrait{width:min(202px,76%)}.gallery.frame-phone .slide-landscape{transform:translate(-50%,-50%) translateX(calc(var(--offset)*56%)) rotateY(calc(var(--offset)*-15deg)) scale(calc(1 - var(--distance)*.14));width:94%}.slide>.phone,.lightbox-phone>.phone{border-radius:40px}.slide>.phone figure,.lightbox-phone>.phone figure{border-radius:33px}.slide>.phone-landscape,.lightbox-phone>.phone-landscape{border-radius:25px}.slide>.phone-landscape figure,.lightbox-phone>.phone-landscape figure{border-radius:19px}.lightbox-browser{width:min(96vw,calc(68svh * var(--screen-ratio)))}.lightbox-phone.lightbox-portrait{width:min(330px,84vw,calc(76svh * var(--screen-ratio)))}.lightbox-phone.lightbox-landscape{width:min(96vw,calc(68svh * var(--screen-ratio)))}.architecture-stage{height:720px}.architecture-slide{height:calc(100% - 44px);transform:translate(-50%,-50%) translateX(calc(var(--offset)*58%)) rotateY(calc(var(--offset)*-16deg)) scale(calc(1 - var(--distance)*.14));width:94%}.architecture-panel>header{padding-inline:10px;font-size:7px}.architecture-body{gap:11px;padding:14px 12px}.architecture-copy h4{font-size:24px}.architecture-copy p{font-size:10px;line-height:1.45}.architecture-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture-nodes section{min-height:78px;padding:9px}.architecture-nodes strong{font-size:10px}.architecture-nodes small{font-size:7px}.architecture-metrics{gap:5px}.architecture-metrics>div{padding:7px 6px}.architecture-metrics dt{font-size:6px}.architecture-metrics dd{font-size:8px}.architecture-log{font-size:7px;overflow:hidden}.architecture-log p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.architecture-meta{flex-direction:column;align-items:flex-start;gap:12px}.architecture-meta .controls{justify-content:space-between;width:100%}}.contact>.contact-email-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.contact>.contact-email-actions a{background:var(--contactText);border:1px solid var(--contactText);color:var(--contact);font:650 14px var(--font-geist-mono),monospace;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:11px 18px;transition:background .2s,color .2s,transform .2s;display:inline-flex}.contact>.contact-email-actions a:hover{color:var(--contactText);background:0 0;transform:translateY(-2px)}.contact>.contact-links{flex-wrap:wrap;gap:clamp(20px,3vw,36px);margin-top:52px;display:flex}.contact>.contact-links a{color:var(--contactMuted);font:650 clamp(16px,1.4vw,19px) var(--font-geist-mono),monospace;align-items:center;gap:9px;display:inline-flex}.contact>.contact-links a:hover{color:var(--contactText)}.contact>.contact-links svg{flex:0 0 20px;width:20px;height:20px}.stack-grid .tags{gap:10px}.stack-grid .tags span{border-radius:9px;padding:9px 13px;font-size:14.3px}.site-footer{grid-template-columns:minmax(210px,auto) minmax(180px,1fr) auto;justify-content:stretch;gap:18px clamp(24px,4vw,64px);padding-block:26px;display:grid}.site-footer>div{grid-area:1/1;min-width:0}.site-footer>p{min-width:0;margin:0}.site-footer>p:not(.footer-copyright){grid-area:1/2}.site-footer>a{white-space:nowrap;grid-area:1/3;justify-self:end}.site-footer .footer-copyright{text-align:center;grid-area:2/1/auto/-1;justify-self:center;margin:0}@media (width<=920px){.site-footer{grid-template-columns:minmax(0,1fr) auto}.site-footer>p:not(.footer-copyright){grid-area:2/1/auto/-1}.site-footer>a{grid-area:1/2}.site-footer .footer-copyright{text-align:left;grid-area:3/1/auto/-1;justify-self:start}}@media (width<=680px){.contact>.contact-email-actions{margin-top:28px}.contact>.contact-links{flex-direction:column;align-items:flex-start;margin-top:42px}.site-footer{grid-template-columns:1fr;gap:14px;padding-block:30px}.site-footer>div{grid-area:1/1}.site-footer>p:not(.footer-copyright){grid-area:2/1}.site-footer>a{grid-area:3/1;justify-self:start}.site-footer .footer-copyright{grid-area:4/1;margin-top:8px}}.nav .links a{font-size:15px;font-weight:550;line-height:1.3}.project-capabilities button{width:54px;height:54px}.project-capabilities button>.brand-mark,.project-capabilities button>.material-mark{width:17px;height:17px}.project-capabilities button>.brand-badge{width:17px;height:17px;font-size:6px}.project-capabilities .capability-name{max-width:46px}@media (width>=760px){.project-visual{grid-template-columns:minmax(0,1fr) 62px;align-items:stretch;gap:10px;display:grid}.project-visual>.gallery,.project-visual>.architecture-carousel{grid-area:1/1;width:100%;min-width:0}.project-visual>.project-capabilities,.project-capability-groups{display:contents}.project-capabilities>header{display:none}.project-capabilities ul.project-capability-primary,.project-capabilities ul.project-capability-overflow{background:linear-gradient(135deg,var(--panel),var(--panel2))}@supports (color:color-mix(in lab, red, red)){.project-capabilities ul.project-capability-primary,.project-capabilities ul.project-capability-overflow{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 90%,transparent))}}.project-capabilities ul.project-capability-primary,.project-capabilities ul.project-capability-overflow{border:1px solid var(--line);margin:0;list-style:none}.project-capabilities ul.project-capability-primary{border-radius:16px;grid-area:1/2;grid-template-columns:40px;place-content:start center;align-self:stretch;gap:4px;padding:9px 10px;display:grid}.project-capabilities ul.project-capability-primary:before{color:var(--accent);content:"Tools";font:650 6px var(--font-geist-mono),monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:2px 0 3px}.project-capabilities ul.project-capability-overflow{border-radius:14px;grid-area:2/1;place-self:start end;gap:5px;width:max-content;padding:7px 8px;display:flex}.project-capabilities button{width:40px;height:40px;padding:0}.project-capabilities .capability-name{display:none}.project-capabilities .capability-label{bottom:50%;left:auto;right:calc(100% + 9px);transform:translate(5px,50%)}.project-capabilities button:hover .capability-label,.project-capabilities button:focus-visible .capability-label{transform:translateY(50%)}.project-capability-primary button:hover,.project-capability-primary button:focus-visible{transform:translate(-5px)}.project-capability-overflow button:hover,.project-capability-overflow button:focus-visible{transform:translateY(-4px)}.project-capabilities .project-capability-overflow .capability-label{bottom:calc(100% + 8px);left:50%;right:auto;transform:translate(-50%,5px)}.project-capabilities .project-capability-overflow button:hover .capability-label,.project-capabilities .project-capability-overflow button:focus-visible .capability-label{transform:translate(-50%)}}@media (width<=759px){.project-capabilities{margin-top:12px}.project-capability-groups{scrollbar-width:thin;gap:8px;margin-inline:-12px;padding:4px 12px 8px;display:flex;overflow-x:auto}.project-capabilities .project-capability-groups>ul{display:contents}.project-capabilities .capability-label{display:none}}.project-title h3{overflow-wrap:anywhere}#camera .project-title h3{font-size:clamp(36px,3.6vw,54px)}.project-links{flex-wrap:wrap;gap:9px 14px;margin-top:24px;display:flex}.project-links a{border-bottom:1px solid var(--strong);font:12px var(--font-geist-mono),monospace;padding-bottom:5px}.project-links a:hover{border-color:var(--accent);color:var(--accent)}@media (width>=1050px){.project-links{margin-top:18px}}@media (width<=680px){#camera .project-title h3{font-size:clamp(30px,8.5vw,40px)}}.project-link-copy{appearance:none;color:inherit;cursor:copy;font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;background:0 0;border:0;margin:0;padding:0;display:inline}.project-link-copy:hover,.project-link-copy:focus-visible{-webkit-text-decoration-color:var(--strong);-webkit-text-decoration-color:var(--strong);-webkit-text-decoration-color:var(--strong);text-decoration-color:var(--strong);text-underline-offset:.12em;text-decoration-line:underline;text-decoration-thickness:1px}.project-link-feedback{background:var(--text);border:1px solid var(--strong);box-shadow:0 14px 42px var(--shadow);color:var(--bg);font:650 10px var(--font-geist-mono),monospace;letter-spacing:.06em;opacity:0;pointer-events:none;text-transform:uppercase;white-space:nowrap;z-index:1100;border-radius:8px;padding:9px 12px;transition:opacity .18s,transform .18s;position:fixed;bottom:24px;right:24px;transform:translateY(8px)}.project-link-feedback:not(:empty){opacity:1;transform:translateY(0)}.project-link-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=680px){.project-link-feedback{bottom:16px;right:16px}}.proof>article p{white-space:normal;flex-wrap:wrap}.proof>article span{white-space:normal}.email-action-icon{flex:0 0 19px;width:19px;height:19px}.gmail-icon{background:#fff;border-radius:4px;padding:2px}.hero-email-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.hero-email-actions a{border-bottom:1px solid var(--strong);color:var(--muted);font:12px var(--font-geist-mono),monospace;align-items:center;gap:7px;padding-bottom:5px;display:inline-flex}.hero-email-actions a:hover{border-color:var(--accent);color:var(--text)}.contact>.contact-email-actions a{gap:8px}.email-actions-status{color:var(--sub);font:11px var(--font-geist-mono),monospace}.hero-actions .hero-email-actions{gap:8px}.hero-actions .hero-email-actions a{background:var(--panel);border:1px solid var(--strong);color:var(--contact);font:600 11px var(--font-geist-mono),monospace;border-radius:10px;min-height:46px;padding:10px 13px;transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s;box-shadow:inset 0 0 0 1px #0000}.hero-actions .hero-email-actions a:hover{background:var(--panel2);border-color:var(--accent);box-shadow:0 8px 22px var(--shadow),0 0 0 3px var(--soft);color:var(--contact);transform:translateY(-2px)}@media (width<=680px){.hero-email-actions{width:100%}.hero-actions .hero-email-actions a{justify-content:center;min-width:116px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
