*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.relative{position:relative}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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:#0a0a0b;--bg-2:#050506;--fg:#f4f4f5;--fg-dim:#f4f4f58c;--fg-faint:#f4f4f559;--hair:#f4f4f514}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}html{scroll-behavior:smooth}body{background:#050506;min-height:100%;overflow-x:hidden}canvas#three{z-index:0;width:100vw;height:100vh;display:block;position:fixed;inset:0}#css3d{z-index:6;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.cube-screen{pointer-events:auto;width:1000px;height:680px;transform-style:preserve-3d;backface-visibility:hidden;background:#050506;border:10px solid #ffbe6fdb;border-radius:34px;transition:opacity .18s;position:relative;overflow:hidden;box-shadow:0 0 26px #ffbe6f70,0 0 80px #ffbe6f2e,inset 0 0 28px #ffbe6f29}.cube-screen:before{content:"";pointer-events:none;z-index:2;mix-blend-mode:screen;background:linear-gradient(135deg,#ffffff2e,#0000 34%),radial-gradient(circle at 50% 0,#ffbe6f29,#0000 46%),repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 4px);position:absolute;inset:0}.cube-screen:after{content:"";pointer-events:none;z-index:3;border-radius:22px;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffff14}.cube-screen iframe{background:#050506;border:0;width:100%;height:100%;display:block}.click-shield{z-index:10;appearance:none;cursor:zoom-in;background:0 0;border:0;padding:0;transition:background .3s;position:absolute;inset:0}.click-shield:hover{background:#ffffff0d}.click-shield:focus-visible{outline-offset:-8px;outline:3px solid #ffbe6f}.close-btn:focus-visible{outline-offset:3px;outline:3px solid #fff}.close-btn{z-index:20;color:#050506;cursor:pointer;opacity:0;pointer-events:none;background:#ffbe6ff2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:700;transition:all .3s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:30px;right:30px;transform:scale(.8)translateZ(1px);box-shadow:0 10px 20px #00000080}.close-btn:hover{background:#fff;transform:scale(1.05)translateZ(1px)}.cube-screen.is-expanded .click-shield{pointer-events:none;display:none}.cube-screen.is-expanded .close-btn{opacity:1;pointer-events:auto;transform:scale(1)translateZ(1px)}header{z-index:10;justify-content:space-between;align-items:center;padding:28px 40px;transition:opacity .3s;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.brand-dot{background:#ffbe6f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #ffbe6f99}nav{color:var(--fg-dim);letter-spacing:.04em;gap:28px;font-size:13px;display:flex}nav a{color:inherit;text-decoration:none;transition:color .25s}nav a:hover{color:var(--fg)}main{z-index:2;pointer-events:none;position:relative}section.slide{pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:100vh;padding:0 clamp(28px,7vw,112px);display:flex;position:relative}section.slide>*{pointer-events:none}.hero{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;width:min(39vw,500px);min-width:320px;display:flex;transform:translateY(-2vh)}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:18px;font-size:10px}h1{letter-spacing:-.035em;text-align:left;color:#ffbe6f;text-shadow:0 0 24px #ffbe6f38;filter:drop-shadow(0 0 30px #ffbe6f52);max-width:13ch;font-size:clamp(32px,4.6vw,70px);font-weight:300;line-height:.98}h1 em{color:#ffbe6f;text-shadow:0 0 24px #ffbe6f38;font-style:italic;font-weight:200}.sub{color:var(--fg-dim);letter-spacing:.01em;text-align:left;max-width:38ch;margin-top:20px;font-size:14px;font-weight:400;line-height:1.5}.bottom{z-index:10;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:24px;padding:32px 40px 40px;transition:opacity .3s;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom>*{pointer-events:auto}.cta{pointer-events:auto;border:1px solid var(--hair);color:var(--fg);letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);background:#f4f4f50f;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:13px;text-decoration:none;transition:background .3s,border-color .3s,transform .3s;display:inline-flex}.cta:hover{background:#f4f4f51a;border-color:#f4f4f52e}.cta .arrow{width:14px;height:14px;transition:transform .3s}.cta:hover .arrow{transform:translate(3px)}.meta{color:var(--fg-faint);letter-spacing:.22em;text-transform:uppercase;text-align:right;font-size:11px;line-height:1.7}.meta strong{color:var(--fg-dim);font-weight:500}.fade{opacity:0;animation:1.1s cubic-bezier(.2,.7,.2,1) forwards rise;transform:translateY(8px)}.fade.d1{animation-delay:.1s}.fade.d2{animation-delay:.25s}.fade.d3{animation-delay:.4s}.fade.d4{animation-delay:.55s}.fade.d5{animation-delay:.7s}@keyframes rise{to{opacity:1;transform:translateY(0)}}.spark{opacity:.55;z-index:6;pointer-events:none;width:22px;height:22px;position:fixed;bottom:24px;right:24px}.scrolldots{z-index:12;flex-direction:column;gap:12px;transition:opacity .3s;display:flex;position:fixed;top:50%;left:24px;transform:translateY(-50%)}.scrolldots a{background:#f4f4f52e;border-radius:50%;width:6px;height:6px;transition:background .25s,transform .25s}.scrolldots a.active{background:#ffbe6f;transform:scale(1.4);box-shadow:0 0 8px #ffbe6f66}.group{border-top:1px solid #f4f4f50f;margin-top:12px;padding-top:12px}.group:first-child{border-top:0;margin-top:0;padding-top:0}.group-label{text-transform:uppercase;letter-spacing:.26em;color:var(--fg-faint);margin-bottom:10px;font-size:9.5px;font-weight:500}.row{grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:9px;display:grid}.rotation-section-label{color:#ffbe6f;letter-spacing:.14em;text-transform:uppercase;margin:14px 0 8px;font-size:9px;font-weight:600}.rotation-section-label+.row{margin-bottom:9px}.row label{color:var(--fg-dim);letter-spacing:.02em;font-size:11px}.row .val{color:var(--fg);text-align:right;min-width:42px;font-family:ui-monospace,monospace;font-size:10.5px}.row input[type=range]{appearance:none;cursor:pointer;background:#f4f4f51f;border-radius:2px;outline:none;grid-column:1/-1;width:100%;height:2px;margin:2px 0 0}.row input[type=range]::-webkit-slider-thumb{appearance:none;cursor:grab;background:#ffbe6f;border:0;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #ffbe6f26}.row.panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cube-rotate-btn{color:#ffbe6f;cursor:pointer;min-height:30px;font:inherit;letter-spacing:.04em;background:#ffbe6f12;border:1px solid #ffbe6f40;border-radius:7px;font-size:10px;transition:background .2s,border-color .2s}.cube-rotate-btn:hover{background:#ffbe6f24;border-color:#ffbe6f80}.row input[type=color]{appearance:none;cursor:pointer;background:0 0;border:1px solid #f4f4f526;border-radius:4px;width:28px;height:18px;padding:0}.row input[type=color]::-webkit-color-swatch-wrapper{padding:0}.row input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}.reset-btn{width:100%;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.22em;cursor:pointer;background:#f4f4f50a;border:1px solid #f4f4f51a;border-radius:8px;margin-top:14px;padding:8px 10px;font-size:10px;transition:all .2s}.reset-btn:hover{color:var(--fg);background:#f4f4f514;border-color:#f4f4f52e}.panel::-webkit-scrollbar{width:4px}.panel::-webkit-scrollbar-track{background:0 0}.panel::-webkit-scrollbar-thumb{background:#f4f4f51a;border-radius:2px}body.ui-hidden header,body.ui-hidden .bottom,body.ui-hidden .panel,body.ui-hidden .scrolldots{pointer-events:none;opacity:0!important}body.iframe-expanded{overflow:hidden}body.iframe-expanded #css3d{z-index:30}body.iframe-expanded canvas#three{filter:blur(2px)brightness(.45)}body.iframe-expanded main{opacity:0;pointer-events:none;transition:opacity .3s}body.iframe-expanded .cube-screen:not(.is-expanded){opacity:0!important;pointer-events:none!important}body.iframe-expanded .cube-screen.is-expanded{pointer-events:auto!important}.iframe-interaction-proxy{z-index:39;pointer-events:none;cursor:auto;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;display:none;position:fixed;inset:0}body.iframe-expanded .iframe-interaction-proxy{pointer-events:auto;display:block}body.iframe-expanded .cube-screen.is-expanded .close-btn{z-index:44}@media (width<=860px){.panel{width:auto;max-height:50vh;inset:auto 12px 12px;transform:none}.cube-screen{width:880px;height:600px}section.slide{justify-content:flex-start;padding:110px 24px 0}.hero{width:min(86vw,420px);min-width:0;transform:none}h1{font-size:clamp(34px,11vw,58px)}}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.cube-screen{outline-offset:-26px;background:linear-gradient(145deg,#ffbe6f70,#ff8b3247 18%,#687482db 46%,#2a333ef7),#1c232d;border:14px solid #ffbe6feb;border-radius:58px;outline:7px solid #5c6774b8;width:940px;height:940px;padding:58px;overflow:hidden;box-shadow:0 0 0 1px #ffffff29,0 0 30px #ffbe6f7a,0 0 88px #ff8b3233,0 18px 40px #00000061,inset 0 0 0 1px #fff3,inset 0 0 0 9px #ffbe6f1a,inset 0 0 48px #0000005c}.cube-screen:before{background:linear-gradient(135deg,#ffffff40,#0000 36%),radial-gradient(circle at 50% 0,#ffbe6f3d,#0000 48%),linear-gradient(90deg,#ffbe6f1a,#0000 18% 82%,#ff8b321a),repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 4px);border-radius:42px;inset:18px}.cube-screen:after{border-radius:34px;inset:34px;box-shadow:inset 0 0 0 2px #ffbe6fb8,inset 0 0 0 9px #ff8b322e,inset 0 0 0 15px #0204084d,inset 0 0 34px #ffbe6f2e}.cube-screen iframe{scrollbar-width:none;-ms-overflow-style:none;background:#070a0f;border-radius:30px;outline:none;box-shadow:0 0 0 1px #ffffff1a,0 0 0 8px #ffbe6f33,0 0 0 16px #1a120abd,0 0 28px #ff8b324d,inset 0 0 32px #ffbe6f1f}.cube-screen iframe::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}header{gap:16px}nav#topNav{opacity:1;white-space:nowrap;max-width:520px;transition:max-width .32s cubic-bezier(.2,.8,.2,1),opacity .22s,transform .28s;overflow:hidden;transform:translate(0)}.menu-toggle{color:#ffbe6f;cursor:pointer;background:#ffbe6f12;border:1px solid #ffbe6f57;border-radius:999px;place-items:center;gap:0;width:42px;height:42px;transition:background .24s,border-color .24s,transform .24s;display:grid;box-shadow:0 0 18px #ffbe6f1a}.menu-toggle:hover{background:#ffbe6f21;border-color:#ffbe6f94;transform:translateY(-1px)}.menu-toggle span{transform-origin:50%;background:currentColor;width:15px;height:1px;margin:-3px 0;transition:transform .26s,opacity .2s;display:block}header.menu-collapsed .menu-toggle span:first-child{transform:translateY(6px)rotate(45deg)}header.menu-collapsed .menu-toggle span:nth-child(2){opacity:0}header.menu-collapsed .menu-toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width<=860px){nav#topNav{max-width:min(62vw,360px)}header.menu-collapsed nav#topNav{max-width:0}}header .menu-toggle{display:none!important}header.menu-collapsed nav#topNav{opacity:1!important;pointer-events:auto!important;max-width:520px!important;transform:translate(0)!important}.panel-head{gap:10px}.panel-minimize-btn{color:#ffbe6f;cursor:pointer;background:#ffbe6f12;border:1px solid #ffbe6f57;border-radius:999px;place-items:center;width:22px;height:22px;font-size:14px;line-height:1;transition:background .2s,border-color .2s,transform .2s;display:grid}.panel-minimize-btn:hover{background:#ffbe6f24;border-color:#ffbe6f9e;transform:translateY(-1px)}.panel.collapsed{border-radius:999px;width:58px;min-height:58px;padding:12px;overflow:hidden}.panel.collapsed .panel-title,.panel.collapsed .panel-toggle{display:none}.panel.collapsed .panel-head{justify-content:center;margin-bottom:0}.panel.collapsed .panel-minimize-btn{width:34px;height:34px;font-size:18px}.cube-screen{justify-content:center;align-items:center;padding:20px;display:flex}.cube-screen:after{display:none}.screen-viewport{aspect-ratio:4/3;z-index:1;border-radius:34px;width:100%;max-width:100%;max-height:100%;position:relative}.screen-viewport:after{content:"";pointer-events:none;z-index:3;border-radius:34px;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffbe6fb8,inset 0 0 0 9px #ff8b322e,inset 0 0 0 15px #0204084d,inset 0 0 34px #ffbe6f2e}.screen-viewport iframe{aspect-ratio:4/3;width:100%;height:100%}@media (width<=860px){.screen-viewport{width:auto;max-width:100%;height:100%}}.hero-skills{-webkit-backdrop-filter:blur(14px);background:#f4f4f50b;border:1px solid #f4f4f514;border-radius:18px;flex-wrap:wrap;gap:10px;width:min(430px,34vw);margin-top:28px;padding:12px 14px;display:flex;box-shadow:0 16px 38px #00000029,inset 0 0 0 1px #ffbe6f09}.skill-chip{color:#f4f4f5b8;letter-spacing:.02em;align-content:center;justify-items:center;gap:7px;width:56px;min-height:62px;font-size:10px;text-decoration:none;display:grid}.skill-chip svg{color:#f4f4f5b8;background:#f4f4f509;border:1px solid #f4f4f51f;border-radius:10px;width:28px;height:28px;padding:5px;transition:color .24s,border-color .24s,background .24s,transform .24s;box-shadow:0 0 18px #ffbe6f0a}.skill-chip:hover svg{color:#ffbe6f;background:#ffbe6f14;border-color:#ffbe6f85;transform:translateY(-2px)}.bottom-left{pointer-events:auto;gap:22px;display:grid}.bottom-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.view-projects{pointer-events:auto;color:#ffbe6f;letter-spacing:.06em;opacity:.92;padding-bottom:7px;font-size:13px;text-decoration:none;transition:opacity .24s,transform .24s;position:relative}.view-projects:after{content:"";opacity:.8;background:linear-gradient(90deg,#ffbe6f,#0000);width:100%;height:1px;position:absolute;bottom:0;left:0}.view-projects:hover{opacity:1;transform:translate(3px)}.social-block{color:var(--fg-dim);letter-spacing:.02em;align-items:center;gap:14px;font-size:13px;display:flex}.social-links{align-items:center;gap:10px;display:inline-flex}.social-link{color:#f4f4f5ad;background:#f4f4f50a;border:1px solid #f4f4f514;border-radius:999px;place-items:center;width:34px;height:34px;text-decoration:none;transition:color .24s,border-color .24s,background .24s,transform .24s;display:grid}.social-link:hover{color:#ffbe6f;background:#ffbe6f14;border-color:#ffbe6f73;transform:translateY(-2px)}.social-link svg{width:17px;height:17px}.portfolio-quote{pointer-events:none;color:#f4f4f5a8;letter-spacing:.02em;grid-template-columns:auto 1fr;align-items:start;gap:14px;max-width:360px;font-size:13px;line-height:1.45;display:grid;transform:translateY(-6px)}.portfolio-quote .quote-mark{color:#ffbe6f;filter:drop-shadow(0 0 14px #ffbe6f3d);font-family:Georgia,serif;font-size:34px;line-height:.9}.interaction-hints{z-index:11;color:#f4f4f59e;pointer-events:none;text-align:center;gap:26px;transition:opacity .3s;display:grid;position:fixed;top:50%;right:clamp(26px,4.8vw,86px);transform:translateY(-50%)}.interaction-hint{justify-items:center;gap:9px;min-width:96px;display:grid}.interaction-hint svg{color:#f4f4f594;filter:drop-shadow(0 0 12px #ffbe6f1f);width:30px;height:30px}.interaction-hint span{letter-spacing:.04em;font-size:12px;line-height:1.35}.interaction-divider{background:linear-gradient(90deg,#0000,#f4f4f547,#0000);justify-self:center;width:74px;height:1px}body.ui-hidden .interaction-hints,body.iframe-expanded .interaction-hints{pointer-events:none;opacity:0!important}@media (width<=1040px){.hero-skills{width:min(360px,42vw)}.portfolio-quote{display:none}.interaction-hints{right:22px}}@media (width<=860px){.hero-skills{gap:8px;width:min(100%,370px);margin-top:22px}.bottom{align-items:flex-start;padding:24px}.bottom-left,.bottom-actions{gap:14px}.social-block,.interaction-hints{display:none}}html,body,#root{width:100%;min-height:100%}body{overscroll-behavior-x:none;touch-action:pan-y}#three,#css3d{top:0;left:0;width:100dvw!important;height:100dvh!important}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}body.is-touch .interaction-hint:last-child span:before{content:"Tap a face\\A to open";white-space:pre-line}body.is-touch .interaction-hint:last-child span{font-size:0}body.is-touch .interaction-hint:last-child span br{display:none}.mobile-orientation-hint{left:50%;bottom:calc(14px + var(--safe-bottom));z-index:18;color:#ffe8c4d1;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);pointer-events:none;opacity:0;background:#08090c94;border:1px solid #ffbe6f47;border-radius:999px;padding:9px 12px;font-size:10px;transition:opacity .25s;position:fixed;transform:translate(-50%);box-shadow:0 0 22px #ffbe6f1a}body.is-touch:not(.iframe-expanded) .mobile-orientation-hint{opacity:.86}@media (hover:hover) and (pointer:fine){.mobile-orientation-hint{display:none}}@media (width<=1180px){header{padding:calc(20px + var(--safe-top)) calc(24px + var(--safe-right)) 18px calc(24px + var(--safe-left))}nav#topNav{gap:18px;max-width:min(52vw,440px);font-size:12px}.panel{right:calc(14px + var(--safe-right));width:min(320px,100vw - 28px)}.hero{width:min(42vw,470px)}}@media (width<=860px),(pointer:coarse) and (width<=1024px){body{min-height:400vh}header{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) 12px calc(16px + var(--safe-left));align-items:flex-start;gap:12px}.brand{letter-spacing:.15em;font-size:11px}.brand-dot{width:7px;height:7px}nav#topNav{scrollbar-width:none;letter-spacing:.03em;gap:12px;max-width:min(54vw,300px);padding-bottom:3px;font-size:10px;overflow-x:auto}nav#topNav::-webkit-scrollbar{display:none}section.slide{height:100dvh;min-height:640px;padding:calc(92px + var(--safe-top)) calc(18px + var(--safe-right)) calc(170px + var(--safe-bottom)) calc(18px + var(--safe-left));justify-content:flex-start}.hero{width:min(80vw,390px);min-width:0;transform:none}.eyebrow{letter-spacing:.22em;margin-bottom:13px;font-size:9px}h1{max-width:10ch;font-size:clamp(34px,12vw,58px)}.sub{max-width:30ch;margin-top:14px;font-size:13px;line-height:1.45}.hero-skills{border-radius:15px;gap:6px;width:min(100%,330px);max-height:154px;margin-top:16px;padding:10px;overflow:hidden}.skill-chip{gap:5px;width:48px;min-height:54px;font-size:9px}.skill-chip svg{border-radius:9px;width:25px;height:25px}.bottom{padding:0 calc(16px + var(--safe-right)) calc(54px + var(--safe-bottom)) calc(16px + var(--safe-left));align-items:flex-end;gap:12px}.bottom-left,.bottom-actions{gap:11px}.cta{letter-spacing:.04em;padding:11px 14px;font-size:10px}.view-projects{padding-bottom:5px;font-size:10px}.meta{letter-spacing:.13em;max-width:136px;font-size:8.5px;line-height:1.55}.scrolldots{left:calc(12px + var(--safe-left));gap:9px}.scrolldots a{width:5px;height:5px}.spark{display:none}.panel{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));bottom:calc(10px + var(--safe-bottom));z-index:24;border-radius:16px;width:auto;max-height:min(58dvh,460px);padding:13px 14px 15px;top:auto;transform:none}.panel:not(.collapsed){overflow-y:auto}.panel.collapsed{left:auto;right:calc(14px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));border-radius:999px;width:56px;min-height:56px;padding:11px}.panel-minimize-btn,.panel.collapsed .panel-minimize-btn{min-width:34px;min-height:34px}.row{grid-template-columns:minmax(0,1fr) auto;gap:7px}.row label,.row .val{font-size:10px}.row input[type=range]{background:0 0;height:18px}.row input[type=range]::-webkit-slider-runnable-track{background:#f4f4f529;border-radius:999px;height:3px}.row input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px}.row input[type=range]::-moz-range-track{background:#f4f4f529;border-radius:999px;height:3px}.row input[type=range]::-moz-range-thumb{width:20px;height:20px}.cube-screen{border-radius:58px;width:940px;height:940px}.screen-viewport,.screen-viewport:after,.cube-screen iframe{border-radius:30px}.close-btn{width:54px;height:54px;font-size:25px;top:22px;right:22px}}@media (width<=520px){nav#topNav,.hero-skills{display:none}.bottom{justify-content:space-between}.cta span{white-space:nowrap;text-overflow:ellipsis;max-width:92px;overflow:hidden}.meta{display:none}.mobile-orientation-hint{bottom:calc(74px + var(--safe-bottom));text-align:center;letter-spacing:.11em;max-width:calc(100vw - 36px)}}@media (width<=420px){section.slide{min-height:620px;padding-top:calc(78px + var(--safe-top))}h1{font-size:clamp(31px,13vw,52px)}.sub{display:none}.bottom-actions{max-width:100%}}@media (orientation:landscape) and (height<=560px){section.slide{min-height:100dvh;padding-top:calc(74px + var(--safe-top));padding-bottom:calc(86px + var(--safe-bottom))}.hero-skills,.sub{display:none}.panel:not(.collapsed){max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));left:auto;right:calc(10px + var(--safe-right));width:min(330px,42vw)}.bottom{padding-bottom:calc(16px + var(--safe-bottom))}.mobile-orientation-hint{display:none}}body.iframe-expanded .mobile-orientation-hint,body.ui-hidden .mobile-orientation-hint{opacity:0!important}body.performance-lite h1{filter:none}body.performance-lite .cta,body.performance-lite .panel,body.performance-lite .webgl-runtime-fallback{-webkit-backdrop-filter:none}body.performance-lite .cube-screen:before{mix-blend-mode:normal;opacity:.65}body.portfolio-enhanced .hero-role-dynamic{color:#f4f4f5e6;text-shadow:none}@media (width<=860px){body.portfolio-enhanced .bottom{padding-bottom:max(24px, env(safe-area-inset-bottom))}}@media (width<=640px){body.portfolio-enhanced .meta{display:none}body.portfolio-enhanced .bottom-actions{gap:10px}body.portfolio-enhanced .cta{padding:12px 16px;font-size:11px}body.portfolio-enhanced .view-projects{font-size:11px}}body.portfolio-enhanced .hero-role-typing{color:#f4f4f5e6;min-width:24ch;text-shadow:none;align-items:baseline;display:inline-flex}body.portfolio-enhanced .hero-role-dynamic{will-change:contents;min-height:1em;display:inline-block}body.portfolio-enhanced .hero-role-caret{background:#ffbe6f;width:1px;height:1.05em;margin-left:.28em;animation:.78s step-end infinite portfolioTypingCaret;display:inline-block;transform:translateY(.12em);box-shadow:0 0 12px #ffbe6fb8}@keyframes portfolioTypingCaret{0%,45%{opacity:1}46%,to{opacity:0}}@media (width<=860px){body.portfolio-enhanced .hero-role-typing{min-width:0}}body.portfolio-enhanced #s1 .hero>.hero-skills:not(.tech-logo-carousel){display:none!important}.tech-logo-carousel__viewport{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;min-width:0;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.tech-logo-carousel__viewport::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.tech-logo-carousel__track{align-items:stretch;gap:10px;width:max-content;padding:1px 4px;display:flex}.tech-logo-carousel__chip{flex:0 0 56px;width:56px}.tech-logo-carousel__arrow{color:#ffbe6f;cursor:pointer;background:#ffbe6f12;border:1px solid #ffbe6f57;border-radius:999px;place-items:center;width:30px;height:30px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:16px;line-height:1;transition:background .24s,border-color .24s,transform .24s,color .24s;display:grid;box-shadow:0 0 18px #ffbe6f1a}.tech-logo-carousel__arrow:hover,.tech-logo-carousel__arrow:focus-visible{color:#fff;background:#ffbe6f24;border-color:#ffbe6f9e;outline:none;transform:translateY(-1px)}body.ui-hidden .tech-logo-carousel,body.iframe-expanded .tech-logo-carousel{opacity:0!important;pointer-events:none!important}@media (width<=1040px){body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{width:min(360px,42vw)}}@media (width<=860px){body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px;width:min(100%,370px);max-height:none;margin-top:22px}.tech-logo-carousel__arrow{width:32px;height:32px}}@media (width<=520px){body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{width:min(100%,330px);margin-top:16px;padding:10px;display:grid!important}}body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{pointer-events:auto;flex-wrap:nowrap;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:12px;overflow:hidden;display:grid!important}.tech-logo-carousel__viewport{scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none;min-width:0;height:76px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 11% 89%,#0000);mask-image:linear-gradient(90deg,#0000,#000 11% 89%,#0000)}.tech-logo-carousel__track{width:100%;height:100%;padding:0;display:flex;position:absolute;inset:0}.tech-logo-carousel__orbit-item{width:56px;min-height:62px;z-index:var(--chip-z,1);opacity:var(--chip-opacity,1);transform:translate(-50%, -50%) translateX(var(--slot-x,0px)) scale(var(--chip-scale,1));will-change:transform, opacity;place-items:center;transition:transform .78s cubic-bezier(.2,.8,.2,1),opacity .78s,filter .78s;display:grid;position:absolute;top:50%;left:50%}.tech-logo-carousel__chip{flex:none;width:56px;min-height:62px;transition:color .7s,text-shadow .7s,filter .7s}.tech-logo-carousel__chip svg{transition:color .7s,border-color .7s,background .7s,transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s}.tech-logo-carousel__chip.is-active svg{color:#ffbe6f;background:#ffbe6f1f;border-color:#ffbe6fad;transform:translateY(-2px);box-shadow:0 0 0 1px #ffbe6f1a,0 0 22px #ffbe6f2e}.tech-logo-carousel__arrow{z-index:2;position:relative}.tech-logo-carousel__arrow:active{transform:translateY(0)scale(.95)}@media (prefers-reduced-motion:reduce){.tech-logo-carousel__orbit-item,.tech-logo-carousel__chip,.tech-logo-carousel__chip svg{transition-duration:.01ms!important}}@media (width<=860px){body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px}.tech-logo-carousel__viewport{height:70px}.tech-logo-carousel__orbit-item{width:50px;min-height:58px}.tech-logo-carousel__chip{width:50px;min-height:56px}}body.webgl-fallback-mode canvas#three{opacity:0}body.webgl-fallback-mode header,body.webgl-fallback-mode main,body.webgl-fallback-mode .bottom{opacity:1!important}.webgl-runtime-fallback{left:50%;bottom:max(22px, env(safe-area-inset-bottom));z-index:100;color:#f4f4f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050506eb;border:1px solid #ffbe6f8f;border-radius:12px;gap:6px;width:min(560px,100vw - 32px);padding:14px 18px;font-size:13px;line-height:1.45;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 50px #0000007a,0 0 30px #ffbe6f24}.webgl-runtime-fallback strong{color:#ffbe6f}.webgl-runtime-fallback span{color:#f4f4f5c2}:where(a,button,input,[tabindex]):focus-visible{outline-offset:4px;outline:3px solid #ffbe6f}body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{grid-template-columns:44px minmax(0,1fr) 44px}.tech-logo-carousel__arrow{width:44px;height:44px}.scrolldots a{background:0 0;place-items:center;width:40px;height:40px;display:grid}.scrolldots a:after{content:"";background:#f4f4f547;border-radius:50%;width:6px;height:6px;transition:background .25s,transform .25s}.scrolldots a.active{box-shadow:none;background:0 0;transform:none}.scrolldots a.active:after{background:#ffbe6f;transform:scale(1.4);box-shadow:0 0 8px #ffbe6f66}.scrolldots a:hover{background:0 0}.scrolldots a:hover:after{background:var(--fg-dim)}@media (width<=520px){nav#topNav{gap:10px;display:flex}nav#topNav a{font-size:9px}.sub{display:block}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.cta,.panel,.mobile-orientation-hint,.webgl-runtime-fallback,.hero-skills{background-color:#08090cf0}}@supports not (height:100dvh){#three,#css3d{width:100vw!important;height:100vh!important}@media (width<=860px),(pointer:coarse) and (width<=1024px){section.slide{height:100vh}}}.row input[type=range]::-moz-range-progress{background:#ffbe6f;border-radius:999px;height:3px}.row input[type=color]::-moz-color-swatch{border:0;border-radius:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=360px){header{padding-inline:calc(12px + var(--safe-left)) calc(12px + var(--safe-right))}.brand{font-size:10px}.bottom{padding-inline:calc(12px + var(--safe-left)) calc(12px + var(--safe-right))}.cta{padding:10px 12px}}body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:linear-gradient(135deg,#12161cdb,#07090db8);border:1px solid #ffbe6f38;border-radius:18px;grid-template-columns:minmax(0,1fr);gap:10px;width:min(100%,440px);padding:14px 16px;overflow:visible;box-shadow:0 18px 48px #00000052,inset 0 1px #ffffff12;display:grid!important}.tech-logo-carousel__header,.tech-logo-carousel__footer{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.tech-logo-carousel__header span{color:#f4f4f585;letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:600}.tech-logo-carousel__header strong{color:#ffbe6f;letter-spacing:.08em;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.tech-logo-carousel__stage{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;min-width:0;display:grid}.tech-logo-carousel__viewport{border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f;height:82px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.tech-logo-carousel__chip{border-radius:14px;width:60px;min-height:66px}.tech-logo-carousel__chip.is-active{text-shadow:0 0 20px #ffbe6f6b}.tech-logo-carousel__arrow{color:#ffca83;background:#ffffff09;border:1px solid #ffbe6f3d;border-radius:12px;width:42px;height:42px;font:500 20px/1 ui-monospace,monospace;box-shadow:inset 0 1px #ffffff0d}.tech-logo-carousel__arrow:hover,.tech-logo-carousel__arrow:focus-visible{background:#ffbe6f24;border-color:#ffbe6fb8;box-shadow:0 8px 22px #ff8b3229}.tech-logo-carousel__footer{color:#f4f4f5a3;letter-spacing:.04em;font-size:11px}.tech-logo-carousel__pagination{align-items:center;gap:5px;display:flex}.tech-logo-carousel__dot{background:#f4f4f538;border:0;border-radius:99px;width:5px;height:5px;padding:0;transition:width .3s,background .3s,box-shadow .3s}.tech-logo-carousel__dot:hover,.tech-logo-carousel__dot:focus-visible{background:#ffbe6fb8;outline:none}.tech-logo-carousel__dot.is-active{background:#ffbe6f;width:18px;box-shadow:0 0 12px #ffbe6f80}@media (width<=520px){body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{width:min(100%,350px);padding:12px}.tech-logo-carousel__stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}.tech-logo-carousel__arrow{width:36px;height:36px}.tech-logo-carousel__viewport{height:74px}}.tech-logo-carousel__brand-logo{-o-object-fit:contain;object-fit:contain;filter:grayscale(.12)brightness(.92)drop-shadow(0 2px 8px #00000059);width:30px;height:30px;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s;display:block}body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{width:min(100%,360px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-top:1px solid #f4f4f524;border-radius:0;gap:7px;padding:10px 0}.tech-logo-carousel__header{padding:0 2px}.tech-logo-carousel__header span{color:#f4f4f573;letter-spacing:.16em;font-size:8px;font-weight:500}.tech-logo-carousel__header strong{color:#f4f4f585;font-size:9px;font-weight:500}.tech-logo-carousel__stage{grid-template-columns:28px minmax(0,1fr) 28px;gap:8px}.tech-logo-carousel__viewport{border:0;height:70px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24% 76%,#0000);mask-image:linear-gradient(90deg,#0000,#000 24% 76%,#0000)}.tech-logo-carousel__orbit-item{filter:grayscale(.48)opacity(.72)}.tech-logo-carousel__orbit-item:has(.is-active){filter:none}.tech-logo-carousel__chip{color:#f4f4f575;gap:5px;width:58px;min-height:62px;font-size:9px}.tech-logo-carousel__chip.is-active{color:#ffffffeb;text-shadow:none}.tech-logo-carousel__arrow{color:#f4f4f575;width:28px;height:28px;box-shadow:none;background:0 0;border:0;border-radius:50%;font-size:17px}.tech-logo-carousel__arrow:hover,.tech-logo-carousel__arrow:focus-visible{color:#ffbe6f;box-shadow:none;background:#f4f4f512;border:0;transform:none}.tech-logo-carousel__footer{color:#f4f4f580;letter-spacing:.02em;padding:0 2px;font-size:10px}.tech-logo-carousel__pagination{gap:4px}.tech-logo-carousel__dot{background:#f4f4f53d;width:4px;height:4px}.tech-logo-carousel__dot:hover,.tech-logo-carousel__dot:focus-visible{background:#f4f4f5ad}.tech-logo-carousel__dot.is-active{width:12px;box-shadow:none;background:#ffbe6f}.tech-logo-carousel__brand-logo{filter:grayscale(.08)brightness(.92);width:28px;height:28px}.tech-logo-carousel__chip.is-active .tech-logo-carousel__brand-logo{filter:brightness(1.08);transform:none}@media (width<=520px){body.portfolio-enhanced #s1 .hero>.hero-skills.tech-logo-carousel{width:min(100%,320px)}.tech-logo-carousel__stage{grid-template-columns:26px minmax(0,1fr) 26px}.tech-logo-carousel__arrow{width:26px;height:26px}}@keyframes techLogoCarouselPulse{0%,to{filter:brightness(1.08);transform:translateY(0)scale(1)}50%{filter:brightness(1.2)drop-shadow(0 0 12px #ffbe6f52);transform:translateY(-3px)scale(1.08)}}.tech-logo-carousel__chip.is-active .tech-logo-carousel__brand-logo{animation:2.8s ease-in-out infinite techLogoCarouselPulse}.panel-copy-btn{color:#ffbe6f;letter-spacing:.08em;cursor:pointer;background:#ffbe6f12;border:1px solid #ffbe6f57;border-radius:999px;min-height:22px;margin-left:auto;padding:0 9px;font-size:9px;transition:background .2s,border-color .2s,transform .2s}.panel-copy-btn:hover,.panel-copy-btn:focus-visible{background:#ffbe6f24;border-color:#ffbe6f9e;transform:translateY(-1px)}.panel.collapsed .panel-copy-btn{display:none}:root{--fg-dim:#f4f4f5b8;--fg-faint:#f4f4f599}body.portfolio-enhanced .tech-logo-carousel__header span,body.portfolio-enhanced .tech-logo-carousel__chip,body.portfolio-enhanced .tech-logo-carousel__arrow{color:#f4f4f5b8}body.portfolio-enhanced .tech-logo-carousel__footer{color:#f4f4f5bd}#s1 .hero,#s1 .hero h1{font-family:Arial,Helvetica,sans-serif}.tech-logo-carousel__brand-logo[src$=salesforce\.svg]{filter:drop-shadow(0 2px 8px #00a1e042)}#s4 .hero{width:min(43vw,500px)}#s4 .contact-form{-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;background:#0c0e128f;border:1px solid #ffbe6f33;border-radius:12px;gap:13px;width:min(100%,460px);margin-top:24px;padding:18px;transition:opacity .52s,transform .62s cubic-bezier(.16,1,.3,1);display:grid;transform:translateY(20px);box-shadow:0 18px 48px #00000038,inset 0 1px #ffffff0a}#s4.is-active .contact-form{opacity:1;pointer-events:auto;transform:translateY(0)}#s4 .contact-form label{color:#ffc582d1;letter-spacing:.1em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:700;display:grid}#s4 .contact-form__row{grid-template-columns:1fr 1fr;gap:11px;display:grid}#s4 .contact-form input,#s4 .contact-form textarea{color:#f4f4f5eb;background:#ffffff09;border:1px solid #f4f4f524;border-radius:8px;outline:0;width:100%;padding:10px 11px;font:400 13px/1.45 Arial,Helvetica,sans-serif;transition:border-color .18s,background .18s,box-shadow .18s}#s4 .contact-form input::-moz-placeholder{color:#f4f4f56b}#s4 .contact-form textarea::-moz-placeholder{color:#f4f4f56b}#s4 .contact-form input::placeholder,#s4 .contact-form textarea::placeholder{color:#f4f4f56b}#s4 .contact-form__footer{justify-content:space-between;align-items:center;gap:14px;display:flex}#s4 .contact-form__footer p,#s4 .contact-form__status{color:#f4f4f5a3;margin:0;font-size:11px;line-height:1.35}#s4 .contact-form button{color:#ffca83;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#ffbe6f1a;border:1px solid #ffbe6f7a;border-radius:999px;padding:11px 14px;font:700 10px/1 Arial,Helvetica,sans-serif;transition:transform .18s,background .18s,border-color .18s}#s4 .contact-form button:hover,#s4 .contact-form button:focus-visible{background:#ffbe6f33;border-color:#ffca83;transform:translateY(-2px)}#s4 .contact-form button{justify-content:center;align-items:center;gap:9px;display:inline-flex}#s4 .contact-submit-arrow{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;transition:transform .18s}#s4 .contact-form button:hover .contact-submit-arrow,#s4 .contact-form button:focus-visible .contact-submit-arrow{transform:translate(3px)}#s4 .contact-form__status{color:#ffca83e0;min-height:1.35em}@media (width<=700px){#s4 .hero{width:min(86vw,430px)}#s4 .contact-form{margin-top:18px;padding:15px}#s4 .contact-form__row{grid-template-columns:1fr}#s4 .contact-form__footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:no-preference){html{scroll-snap-type:y proximity}section.slide{scroll-snap-align:start;scroll-snap-stop:always}}.cv-header-actions{pointer-events:auto;align-items:center;gap:8px;margin-left:auto;display:flex}.cv-view-button,.cv-download-button{color:#ffc582;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(14px);background:#08111c9e;border:1px solid #ffbe6f57;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font:700 10px/1 Arial,Helvetica,sans-serif;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex;box-shadow:0 10px 30px #0000002e}.cv-view-button{background:#ffbe6f1c}.cv-view-button svg,.cv-download-button svg{width:15px;height:15px}.cv-view-button:hover,.cv-download-button:hover{background:#ffbe6f2e;border-color:#ffc582b8;transform:translateY(-2px)}.cv-download-button[aria-disabled=true],.cv-dialog__download[aria-disabled=true]{opacity:.42;pointer-events:none}.cv-dialog{color:#f4f4f5f0;z-index:100;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(14px,2.5vw,34px);position:fixed;inset:0;overflow:hidden}.cv-dialog::backdrop{-webkit-backdrop-filter:blur(12px);background:#020509d1}.cv-dialog[open]{place-items:center;animation:.42s cubic-bezier(.16,1,.3,1) cv-dialog-in;display:grid}.cv-dialog [hidden]{display:none!important}.cv-dialog__window{background:linear-gradient(145deg,#0b131dfa,#04090ffa);border:1px solid #ffbe6f3d;border-radius:20px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);height:100%;display:grid;overflow:hidden;box-shadow:0 40px 120px #00000094,0 0 70px #ff9b4314}.cv-dialog__header{z-index:2;background:#ffffff05;border-bottom:1px solid #f4f4f514;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex;position:relative;inset:auto}.cv-dialog__eyebrow{color:#ffc582a8;letter-spacing:.2em;text-transform:uppercase;margin-bottom:5px;font:700 9px/1 Arial,sans-serif;display:block}.cv-dialog__header h2{color:#ffc582;letter-spacing:-.02em;margin:0;font:500 20px/1.1 Arial,Helvetica,sans-serif}.cv-dialog__actions{align-items:center;gap:9px;display:flex}.cv-dialog__download,.cv-dialog__close,.cv-toolbar button{color:#ffc582;cursor:pointer;background:#ffbe6f12;border:1px solid #ffbe6f3d}.cv-dialog__download{letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:36px;padding:0 14px;font:700 9px/1 Arial,sans-serif;text-decoration:none;display:inline-flex}.cv-dialog__close{border-radius:50%;width:36px;height:36px;font-size:13px}.cv-dialog__download:hover,.cv-dialog__close:hover,.cv-toolbar button:hover:not(:disabled){background:#ffbe6f29;border-color:#ffc582b3}.cv-dialog__body{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.cv-toolbar{background:#03080ebd;border-bottom:1px solid #f4f4f512;justify-content:space-between;align-items:center;gap:18px;padding:10px 18px;display:flex}.cv-toolbar__group{color:#f4f4f59e;align-items:center;gap:8px;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.cv-toolbar button{border-radius:8px;min-width:30px;height:30px;font:700 13px/1 Arial,sans-serif}.cv-toolbar button:disabled{opacity:.3;cursor:default}.cv-toolbar .cv-toolbar__fit{letter-spacing:.08em;text-transform:uppercase;width:auto;padding:0 11px;font-size:9px}.cv-document{scrollbar-color:#ffbe6f40 transparent;scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 50% 0,#ffbe6f0f,#0000 34%),#070d14;justify-content:center;align-items:flex-start;min-height:0;padding:24px;display:flex;position:relative;overflow:auto}.cv-document__canvas{background:#fff;border-radius:3px;max-width:none;display:block;box-shadow:0 24px 70px #00000080}.cv-document__loading{color:#ffc582b3;letter-spacing:.18em;text-transform:uppercase;place-items:center;font:700 9px/1 Arial,sans-serif;display:grid;position:absolute;inset:0}.cv-dialog__empty{text-align:center;background:radial-gradient(circle,#ffbe6f14,#0000 42%);grid-row:1/-1;place-content:center;gap:10px;min-height:0;padding:32px;display:grid}.cv-dialog__empty strong{color:#ffc582;font:500 clamp(22px,3vw,34px)/1.15 Arial,sans-serif}.cv-dialog__empty span{color:#f4f4f58c;font:400 13px/1.5 Arial,sans-serif}.cv-dialog__empty code{color:#ffc582d6}@keyframes cv-dialog-in{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}@media (width<=700px){header{padding:18px}.cv-download-button{width:40px;padding:0}.cv-download-button span{display:none}.cv-dialog{padding:8px}.cv-dialog__window{border-radius:14px}.cv-dialog__header{padding:14px}.cv-dialog__header h2{font-size:16px}.cv-dialog__download{display:none}.cv-toolbar{padding:9px 10px}.cv-toolbar__group{gap:5px}.cv-document{padding:14px}}@media (prefers-reduced-motion:reduce){.cv-dialog[open]{animation:none}}#css3d,canvas#three{transition:opacity .36s,filter .52s,transform .62s cubic-bezier(.16,1,.3,1)}body.contact-overlay-active main{z-index:20}body.contact-overlay-active #css3d{opacity:0;visibility:hidden;pointer-events:none}body.contact-overlay-active #css3d .cube-screen{pointer-events:none!important}body.contact-overlay-active canvas#three{filter:blur(7px)brightness(.28)saturate(.72);transform:scale(1.025)}body.contact-overlay-active>header,body.contact-overlay-active .bottom,body.contact-overlay-active .panel,body.contact-overlay-active .interaction-hints,body.contact-overlay-active .mobile-orientation-hint{opacity:0!important;pointer-events:none!important}#s4{justify-content:center;align-items:center;padding:clamp(18px,4vw,56px)}#s4 .hero{opacity:0;pointer-events:none;background:radial-gradient(circle at 12% 8%,#ffae5b16,#0000 34%),linear-gradient(145deg,#0d1620f7,#050a10fb);border:1px solid #ffc58238;border-radius:24px;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);align-items:stretch;gap:clamp(28px,4vw,64px);width:min(1040px,100vw - clamp(36px,8vw,112px));min-width:0;min-height:min(620px,100dvh - 72px);max-height:calc(100dvh - 48px);padding:clamp(28px,4vw,52px);transition:opacity .42s,transform .68s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden;transform:translateY(22px)scale(.982);box-shadow:0 42px 120px #0000008f,inset 0 1px #ffffff0b}#s4 .hero:before{content:"";background:linear-gradient(90deg,#ffc582,#ffc58200);width:74px;height:2px;position:absolute;top:0;left:clamp(28px,4vw,52px);box-shadow:0 0 22px #ffae5b47}#s4.is-active .hero{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}#s4 .contact-intro{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex}#s4 .contact-intro .eyebrow{color:#ffc582ad;margin-bottom:22px}#s4 .contact-intro h1{max-width:9.5ch;font-size:clamp(40px,4.4vw,66px);line-height:.98}#s4 .contact-intro .sub{color:#f4f4f5b3;max-width:38ch;margin-top:24px;font-size:14px;line-height:1.65}#s4 .contact-email{color:inherit;gap:6px;margin-top:auto;padding-top:30px;text-decoration:none;display:grid}#s4 .contact-email span{color:#f4f4f56b;letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:700}#s4 .contact-email strong{color:#ffc582;font-size:13px;font-weight:500;transition:color .18s}#s4 .contact-email:hover strong,#s4 .contact-email:focus-visible strong{color:#ffe0b4}#s4 .contact-form{-webkit-backdrop-filter:none;background:#ffffff07;border:1px solid #f4f4f516;border-radius:18px;align-self:center;gap:15px;width:100%;max-width:none;margin:0;padding:clamp(22px,3vw,34px);display:grid;box-shadow:inset 0 1px #ffffff06}#s4 .contact-form__heading{border-bottom:1px solid #f4f4f513;gap:7px;margin-bottom:4px;padding-bottom:18px;display:grid}#s4 .contact-form__heading span{color:#ffc582;letter-spacing:-.01em;font-size:14px;font-weight:600}#s4 .contact-form__heading p{color:#f4f4f587;margin:0;font-size:11px;line-height:1.5}#s4 .contact-form label{color:#ffd6a4b8;letter-spacing:.14em;gap:8px;font-size:9px}#s4 .contact-form__row{gap:12px}#s4 .contact-form input,#s4 .contact-form textarea{color:#faf7f3f0;background:#02070c6b;border-color:#f4f4f51f;border-radius:10px;padding:11px 12px}#s4 .contact-form textarea{resize:none;min-height:108px}#s4 .contact-form input:hover,#s4 .contact-form textarea:hover{border-color:#ffc58247}#s4 .contact-form input:focus,#s4 .contact-form textarea:focus{background:#ffbe6f0a;border-color:#ffc582b3;box-shadow:0 0 0 3px #ffbe6f14}#s4 .contact-form__footer{margin-top:2px}#s4 .contact-form button{background:#ffbe6f1f;min-height:40px;padding:0 17px}@media (width<=840px){#s4{padding:14px}#s4 .hero{scrollbar-width:none;border-radius:18px;grid-template-columns:1fr;gap:24px;width:min(620px,100vw - 28px);min-height:0;max-height:calc(100dvh - 28px);padding:26px 22px;overflow:hidden auto}#s4 .hero::-webkit-scrollbar{display:none}#s4 .contact-intro{justify-content:flex-start}#s4 .contact-intro .eyebrow{margin-bottom:14px}#s4 .contact-intro h1{font-size:clamp(34px,10vw,48px)}#s4 .contact-intro .sub{margin-top:15px;font-size:12px}#s4 .contact-email{margin-top:20px;padding-top:0}#s4 .contact-form{padding:20px}}@media (width<=540px){#s4 .contact-form__row{grid-template-columns:1fr}#s4 .contact-form__footer{flex-direction:column;align-items:flex-start}#s4 .contact-form button{width:100%}}@media (prefers-reduced-motion:reduce){#s4 .hero,#css3d,canvas#three{transition-duration:1ms}}.tech-logo-carousel__arrow svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .18s;display:block}.tech-logo-carousel__arrow:hover svg,.tech-logo-carousel__arrow:focus-visible svg{transform:scale(1.08)}#s4 .contact-form__honeypot{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}#s4 .contact-form__turnstile{border-radius:8px;align-items:center;width:100%;min-height:65px;display:flex;overflow:hidden}#s4 .contact-form__turnstile>div,#s4 .contact-form__turnstile iframe{max-width:100%}#s4 .contact-form button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.6);transform:none}#s4 .contact-form button:disabled .contact-submit-arrow{transform:none}#s4 .contact-form__status[data-state=loading]{color:#f4f4f59e}#s4 .contact-form__status[data-state=success]{color:#a8d5ba}#s4 .contact-form__status[data-state=error]{color:#ffb18f}@media (width<=370px){#s4 .contact-form__turnstile{justify-content:center;min-height:140px}}.slide .eyebrow{position:relative}.slide .eyebrow:after{content:"";opacity:0;transform-origin:0;background:linear-gradient(90deg,#ffc582,#ffc5821f);width:72px;height:1px;display:block;position:absolute;bottom:-10px;left:0;transform:scaleX(0)}.slide.is-scroll-holding .eyebrow:after{opacity:.78;animation:2s linear both chapter-scroll-hold}@keyframes chapter-scroll-hold{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.slide.is-scroll-holding .eyebrow:after{animation:none;transform:scaleX(1)}}.panel,.menu-toggle{display:none!important}.idle-scroll-prompt{left:50%;bottom:calc(32px + var(--safe-bottom));z-index:14;color:#ffc582a8;pointer-events:none;opacity:0;visibility:hidden;flex-direction:column;align-items:center;gap:8px;transition:opacity .5s,transform .5s cubic-bezier(.16,1,.3,1),visibility .5s;display:flex;position:fixed;transform:translate(-50%,10px)}.idle-scroll-prompt span{letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;font:600 9px/1 Arial,Helvetica,sans-serif}.idle-scroll-prompt svg{stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.idle-scroll-prompt.is-visible{opacity:1;visibility:visible;transform:translate(-50%)}.idle-scroll-prompt.is-visible svg{animation:1.45s ease-in-out infinite idle-scroll-arrow}body.ui-hidden .idle-scroll-prompt,body.iframe-expanded .idle-scroll-prompt,body.contact-overlay-active .idle-scroll-prompt{opacity:0!important;visibility:hidden!important}@keyframes idle-scroll-arrow{0%,to{opacity:.42;transform:translateY(-2px)}50%{opacity:1;transform:translateY(5px)}}@media (width<=860px){.idle-scroll-prompt{bottom:calc(58px + var(--safe-bottom))}}@media (prefers-reduced-motion:reduce){.idle-scroll-prompt.is-visible svg{animation:none}}.idle-scroll-prompt{color:#ffdaabe0;-webkit-backdrop-filter:blur(8px);background:#050b127a;border:1px solid #ffc58224;border-radius:999px;padding:9px 14px 8px;box-shadow:0 10px 28px #0000003d}.idle-scroll-prompt span{text-shadow:0 1px 8px #000000c2;font-size:10px;font-weight:700}.idle-scroll-prompt svg{width:23px;height:23px}.cinematic-intro{z-index:250;color:#ffd4a4;isolation:isolate;touch-action:none;background:radial-gradient(circle at 50% 47%,#e64d0d0e,#0000 32%),#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.cinematic-intro:before{content:"";pointer-events:none;background:radial-gradient(#0000 24%,#000000c7 100%);position:absolute;inset:0}.cinematic-intro__grain{opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:.28s steps(2,end) infinite cinematic-grain;position:absolute;inset:-35%}.cinematic-intro__content{z-index:1;width:min(760px,84vw);position:relative}.cinematic-intro__brand{color:#ffc58294;letter-spacing:.23em;align-items:center;gap:10px;margin-bottom:clamp(22px,4vh,42px);font:700 10px/1 Arial,Helvetica,sans-serif;display:block}.cinematic-intro__brand span{background:#e64d0d;width:23px;height:1px;box-shadow:0 0 10px #e64d0d73}.cinematic-intro__text{color:#ffd6aa;letter-spacing:-.035em;text-align:center;text-wrap:balance;text-shadow:0 0 28px #e64d0d1a;min-height:2.45em;margin:0;font:500 clamp(1.85rem,4.1vw,3.8rem)/1.22 Arial,Helvetica,sans-serif;display:block}.cinematic-intro__cursor{vertical-align:-.08em;background:#e86b31;width:2px;height:.92em;margin-left:.12em;animation:.72s step-end infinite cinematic-cursor;display:inline-block;box-shadow:0 0 12px #e86b318c}.cinematic-intro__footer{color:#ffc5826b;letter-spacing:.15em;justify-content:space-between;align-items:center;margin-top:clamp(30px,6vh,58px);font:700 9px/1 Arial,Helvetica,sans-serif;display:block}.cinematic-intro__steps{gap:7px;width:min(210px,48vw);display:block}.cinematic-intro__steps span{background:#ffc58224;flex:1;height:1px;transition:background .35s,box-shadow .35s}.cinematic-intro__steps span.is-active,.cinematic-intro__steps span.is-complete{background:#ff9750b8;box-shadow:0 0 8px #e64d0d42}.cinematic-intro.is-leaving{pointer-events:none;animation:1.1s cubic-bezier(.65,0,.2,1) forwards cinematic-reveal}@keyframes cinematic-cursor{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes cinematic-grain{0%{transform:translate(-2%,1%)}50%{transform:translate(2%,-1%)}to{transform:translate(1%,2%)}}@keyframes cinematic-reveal{0%{opacity:1;filter:blur()}45%{opacity:.82;filter:blur(3px)}to{opacity:0;filter:blur(15px);visibility:hidden}}@media (width<=640px){.cinematic-intro__content{width:86vw}.cinematic-intro__text{min-height:3.8em;font-size:clamp(1.7rem,8.2vw,2.45rem)}}@media (prefers-reduced-motion:reduce){.cinematic-intro__grain,.cinematic-intro__cursor{animation:none}.cinematic-intro.is-leaving{animation-duration:.35s}}.cinematic-intro__cue{color:#ffbe6fc2;opacity:0;place-items:center;width:58px;height:62px;margin:clamp(20px,4vh,38px) auto 0;transition:opacity .35s;display:grid}.cinematic-intro__cue:not(.is-none){opacity:1}.cinematic-intro__cue svg{stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 9px #e64d0d3d);width:48px;height:58px;overflow:visible}.cinematic-intro__wheel{animation:1.45s cubic-bezier(.4,0,.2,1) infinite intro-scroll-wheel}.cinematic-intro__down{animation:1.45s cubic-bezier(.4,0,.2,1) infinite intro-scroll-down}.cinematic-intro__pointer{fill:#ffbe6f14;transform-origin:25px 27px;animation:1.55s cubic-bezier(.4,0,.2,1) infinite intro-pointer-click}.cinematic-intro__click-ring{opacity:0;transform-origin:35px 20px;animation:1.55s ease-out infinite intro-click-ring}@keyframes intro-scroll-wheel{0%,18%{opacity:.28;transform:translateY(0)}65%{opacity:1;transform:translateY(8px)}to{opacity:0;transform:translateY(10px)}}@keyframes intro-scroll-down{0%,30%{opacity:.2;transform:translateY(-3px)}70%{opacity:1;transform:translateY(3px)}to{opacity:.15;transform:translateY(5px)}}@keyframes intro-pointer-click{0%,35%,to{transform:translate(-2px,2px)scale(1)}48%{transform:translate(1px,-1px)scale(.92)}62%{transform:translate(0,0)scale(1)}}@keyframes intro-click-ring{0%,40%{opacity:0;transform:scale(.35)}48%{opacity:.9}78%,to{opacity:0;transform:scale(1.55)}}@media (prefers-reduced-motion:reduce){.cinematic-intro__wheel,.cinematic-intro__down,.cinematic-intro__pointer,.cinematic-intro__click-ring{animation:none}}body.cinematic-intro-active,body.cinematic-intro-revealing{overscroll-behavior:none;overflow:hidden!important}.cinematic-intro{width:100dvw;height:100dvh;min-height:100svh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}@supports not (height:100dvh){.cinematic-intro{height:100vh}}
