*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::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: rgb(59 130 246 / .5);--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-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-right:auto;margin-left:auto}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.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{color-scheme:light;font-family:Inter,SF Pro Display,SF Pro Text,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f5f7fa;--surface: rgba(255, 255, 255, .7);--surface-strong: rgba(255, 255, 255, .9);--surface-muted: rgba(255, 255, 255, .58);--border: rgba(26, 26, 26, .08);--shadow: 0 24px 60px rgba(18, 34, 54, .09);--text: #1a1a1a;--text-soft: rgba(26, 26, 26, .64);--primary: #1a73e8;--accent: #00c6ff;--success: #12b76a;--desktop-bg: linear-gradient(180deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, .08))}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1115;--surface: rgba(22, 25, 34, .74);--surface-strong: rgba(18, 21, 29, .92);--surface-muted: rgba(21, 24, 32, .66);--border: rgba(255, 255, 255, .08);--shadow: 0 24px 60px rgba(0, 0, 0, .32);--text: #edf2f7;--text-soft: rgba(237, 242, 247, .72);--desktop-bg: linear-gradient(180deg, rgba(26, 30, 39, .72), rgba(18, 20, 28, .42))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(26,115,232,.12),transparent 30%),radial-gradient(circle at top right,rgba(0,198,255,.1),transparent 26%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.portfolio-shell{position:relative;overflow:hidden;padding:32px clamp(20px,4vw,48px) 24px}.shell-noise,.shell-grid{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0}.shell-noise{opacity:.08;background-image:linear-gradient(to right,rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.45) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 85%);mask-image:radial-gradient(circle at center,black,transparent 85%)}.shell-grid{background:radial-gradient(circle at 20% 10%,rgba(26,115,232,.07),transparent 22%),radial-gradient(circle at 80% 0%,rgba(0,198,255,.08),transparent 25%)}.hero-section,.desktop-section,.site-footer{position:relative;z-index:1}.hero-section{margin:0 auto 28px;max-width:1240px}.hero-window,.window-frame{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.hero-window{border-radius:30px;padding:clamp(20px,4vw,32px)}.hero-window-bar,.hero-brand,.hero-controls,.hero-actions,.badge-row,.desktop-section-header,.window-header,.window-controls,.window-actions,.project-heading,.contact-intro,.social-row,.site-footer{display:flex;align-items:center}.hero-window-bar,.desktop-section-header,.window-header,.site-footer{justify-content:space-between}.hero-brand{gap:10px;font-size:.95rem;font-weight:700}.hero-controls,.locale-toggle{gap:10px}.hero-brand-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 0 16px #00c6ff59}.hero-brand-logo{width:22px;height:22px;border-radius:7px;box-shadow:0 10px 20px #0000001f;-o-object-fit:cover;object-fit:cover;display:block}.theme-toggle,.locale-toggle-button,.window-action,.text-button,.desktop-icon,.social-row a{transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.theme-toggle{gap:8px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);padding:10px 14px;color:var(--text)}.hero-controls{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}.locale-toggle{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);padding:4px}.locale-toggle-button{border:0;border-radius:999px;background:transparent;padding:8px 12px;color:var(--text-soft);font-size:.8rem;font-weight:800;letter-spacing:.04em}.locale-toggle-button-active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 10px 20px #1a73e82e}.theme-toggle:hover,.primary-button:hover,.secondary-button:hover,.text-button:hover,.window-action:hover,.social-row a:hover{transform:translateY(-1px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:24px;margin-top:26px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-copy h1,.speed-panel h2,.desktop-section-header h2,.case-study-header h3,.speed-copy-block h3,.contact-intro h3{margin:0;line-height:1.02}.hero-copy h1{max-width:9ch;margin-top:18px;font-size:clamp(2.9rem,7vw,5.4rem);letter-spacing:-.06em}.hero-copy p,.speed-copy-block p,.project-heading p,.about-bio,.contact-email,.stack-card li,.bullet-list,.contact-form span,.contact-form input,.contact-form textarea,.site-footer{color:var(--text-soft)}.hero-copy p{max-width:44ch;margin:16px 0 0;font-size:1.04rem}.hero-actions{gap:12px;margin-top:28px;flex-wrap:wrap}.primary-button,.secondary-button,.text-button{gap:10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;padding:12px 18px;font-size:.95rem;font-weight:700}.primary-button{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 16px 30px #1a73e838}.secondary-button,.text-button,.button-link,.window-action,.contact-form input,.contact-form textarea{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.button-link{width:-moz-fit-content;width:fit-content}.speed-panel{display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);border-radius:24px;background:var(--surface-strong);padding:22px}.speed-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.speed-panel h2{margin-top:10px;font-size:1.45rem;letter-spacing:-.04em}.speed-panel-icon{color:var(--primary)}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.score-card,.case-stat,.stack-card,.about-photo-card,.project-card,.case-study-panel{border:1px solid var(--border);background:var(--surface-muted);box-shadow:inset 0 1px #ffffff1f}.score-card{border-radius:20px;padding:16px}.score-card span,.case-stat span,.stack-card h3,.project-shot-screen p,.desktop-icon-copy small,.desktop-icon-stat,.window-title,.contact-form span{font-size:.8rem}.score-card strong{display:block;margin-top:4px;color:var(--text);font-size:2rem;letter-spacing:-.04em}.badge-row{gap:10px;flex-wrap:wrap}.metric-badge,.performance-pill,.tech-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700}.metric-badge,.tech-pill{background:#1a73e812}.performance-pill{background:#12b76a17;color:var(--success)}.performance-pill-accent{background:#00c6ff1f;color:var(--primary)}.desktop-section{margin:0 auto;max-width:1240px}.system-status-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;border:1px solid var(--border);border-radius:999px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:12px 16px}.system-status-item{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);font-size:.84rem;font-weight:700}.system-status-online{color:var(--success)}.system-status-online:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 12px #12b76a59}.desktop-section-header{margin-bottom:18px;gap:18px}.desktop-section-header h2{max-width:18ch;font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.04em}.desktop-surface{position:relative;min-height:860px;overflow:hidden;border:1px solid var(--border);border-radius:32px;background:var(--desktop-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.desktop-parallax{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at 30% 24%,rgba(26,115,232,.18),transparent 24%),radial-gradient(circle at 72% 38%,rgba(0,198,255,.18),transparent 22%),radial-gradient(circle at 70% 80%,rgba(26,115,232,.1),transparent 20%);transition:transform .18s ease-out}.desktop-icons-layer,.windows-layer{position:absolute;top:0;right:0;bottom:0;left:0}.windows-layer{pointer-events:none}.desktop-icon{position:absolute;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;width:min(220px,calc(100% - 32px));border:1px solid var(--border);border-radius:22px;background:var(--surface-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:12px 14px;box-shadow:0 12px 22px #13203714;text-align:left;touch-action:none}.desktop-icon:hover,.desktop-icon-active{transform:translateY(-2px);box-shadow:0 18px 28px #1320371f}.desktop-icon-glyph{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#1a73e82e,#00c6ff1f);color:var(--primary)}.desktop-icon-copy{display:flex;flex-direction:column}.desktop-icon-copy strong,.project-heading h3,.case-study-header h3,.stack-card h3{color:var(--text);letter-spacing:-.03em}.desktop-icon-copy strong{font-size:.95rem}.desktop-icon-stat{border-radius:999px;background:#1a73e81a;padding:6px 10px;color:var(--primary);font-weight:800}.floating-window{pointer-events:auto;position:absolute;border-radius:28px;animation:window-enter .18s ease-out}.floating-window-projects{top:32px;left:min(290px,24vw);width:min(880px,calc(100% - 320px))}.floating-window-about{top:96px;right:28px;width:min(520px,calc(100% - 380px))}.floating-window-tech{top:448px;right:48px;width:min(560px,calc(100% - 420px))}.floating-window-contact{bottom:30px;left:min(320px,28vw);width:min(560px,calc(100% - 360px))}.floating-window-speed{bottom:36px;right:26px;width:min(420px,calc(100% - 460px))}.window-frame{display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.window-frame-active{box-shadow:0 26px 70px #12223629,0 0 0 1px #1a73e81f}.window-header{gap:12px;border-bottom:1px solid var(--border);padding:14px 16px;background:#ffffff47;cursor:grab}:root[data-theme=dark] .window-header{background:#ffffff05}.window-header:active{cursor:grabbing}.window-controls,.window-actions,.social-row{gap:8px}.window-dot{width:10px;height:10px;border-radius:999px}.window-dot-red{background:#ff5f57}.window-dot-yellow{background:#febc2e}.window-dot-green{background:#28c840}.window-title{flex:1;text-align:center;font-weight:800}.window-action{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px}.window-action-close:hover{color:#d92d20}.window-body{flex:1;min-height:0;overflow:auto;padding:18px}.window-resize-handle{position:absolute;z-index:3;border:0;background:transparent;padding:0;opacity:0;touch-action:none}.window-resize-handle:focus-visible{opacity:1;outline:2px solid rgba(26,115,232,.45);outline-offset:-2px}.window-resize-n,.window-resize-s{left:14px;right:14px;height:10px}.window-resize-e,.window-resize-w{top:14px;bottom:14px;width:10px}.window-resize-n{top:0;cursor:ns-resize}.window-resize-e{top:14px;right:0;cursor:ew-resize}.window-resize-s{bottom:0;cursor:ns-resize}.window-resize-w{left:0;cursor:ew-resize}.window-resize-ne,.window-resize-nw,.window-resize-se,.window-resize-sw{width:16px;height:16px}.window-resize-ne{top:0;right:0;cursor:nesw-resize}.window-resize-nw{top:0;left:0;cursor:nwse-resize}.window-resize-se{right:0;bottom:0;cursor:nwse-resize}.window-resize-sw{left:0;bottom:0;cursor:nesw-resize}.projects-layout,.contact-layout,.about-layout,.speed-layout{display:flex;flex-direction:column;gap:18px}.project-grid,.case-study-grid,.stack-grid{display:grid;gap:14px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card,.case-study-panel,.stack-card,.about-photo-card{border-radius:24px;padding:14px}.project-shot{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#ffffff7a,#ffffff14);overflow:hidden}:root[data-theme=dark] .project-shot{background:linear-gradient(180deg,#ffffff0f,#ffffff05)}.project-shot-bar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border)}.project-shot-bar span{width:8px;height:8px;border-radius:999px;background:#1a73e82e}.project-shot-screen{display:block;aspect-ratio:16 / 10;background:#ffffff05;overflow:hidden}.project-shot-image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.project-shot-screen:hover .project-shot-image{transform:scale(1.01)}.project-shot-screen strong,.case-stat strong,.contact-email{color:var(--text)}.project-shot-metrics,.tech-pill-row,.case-study-stats,.optimization-list{display:flex;gap:10px;flex-wrap:wrap}.project-shot-metrics{margin-top:16px}.project-shot-metrics span{border-radius:999px;background:#00c6ff1f;padding:6px 10px;color:var(--primary);font-size:.78rem;font-weight:700}.project-content{display:flex;flex-direction:column;gap:16px;margin-top:14px}.project-domain-link{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;color:var(--primary);font-size:.88rem;font-weight:700}.project-domain-link:hover{text-decoration:underline;text-underline-offset:3px}.project-heading{gap:14px;align-items:flex-start;justify-content:space-between}.project-heading h3,.stack-card h3{margin:0}.project-heading p{margin:8px 0 0;font-size:.92rem}.text-button{width:-moz-fit-content;width:fit-content;padding-left:0;padding-right:0;border:0;background:transparent;color:var(--primary)}.case-study-header{display:flex;justify-content:space-between;gap:16px}.case-study-stats{margin-top:18px}.case-study-link{margin-top:12px}.case-stat{flex:1 1 180px;display:flex;gap:12px;align-items:flex-start;border-radius:20px;padding:14px}.case-study-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.case-study-column{border-radius:20px;background:var(--surface-strong);padding:14px}.case-study-column h4{display:flex;align-items:center;gap:8px;margin:0 0 12px}.case-study-code pre{overflow:auto;margin:0;border-radius:16px;background:#0f1115f5;padding:14px;color:#c7f0ff;font-size:.8rem}.bullet-list{margin:0;padding-left:18px}.bullet-list li+li{margin-top:8px}.case-study-column blockquote{margin:0;font-size:1rem;line-height:1.6;color:var(--text)}.about-layout{display:grid;grid-template-columns:200px minmax(0,1fr)}.about-photo-card{overflow:hidden;padding:0}.about-photo-placeholder{width:100%;height:100%;min-height:100%;overflow:hidden;border-radius:inherit}.about-photo-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.about-bio{margin:0 0 18px;font-size:1rem}.stack-card{padding:18px}.speed-layout{min-height:100%}.optimization-list{margin:0;padding:0;list-style:none}.optimization-list li{border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);padding:10px 14px;color:var(--text);font-weight:700}.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.contact-intro{flex-direction:column;align-items:flex-start;gap:14px}.contact-email{font-size:1.25rem;font-weight:800}.social-row a{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong)}.contact-form{display:grid;gap:12px}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact-form label{display:grid;gap:8px}.contact-form input,.contact-form textarea{width:100%;border-radius:16px;padding:12px 14px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#1a73e86b;box-shadow:0 0 0 4px #1a73e81f}.contact-status{margin:0;border:1px solid var(--border);border-radius:14px;padding:10px 12px;font-size:.92rem;font-weight:600}.contact-status-success{border-color:#12b76a47;background:#12b76a1a;color:var(--success)}.contact-status-error{border-color:#ef44443d;background:#ef444414;color:#ef4444}.primary-button:disabled{cursor:wait;opacity:.72}.leads-layout{display:grid;gap:16px}.leads-intro{display:grid;gap:10px}.leads-intro p,.leads-empty,.lead-note,.lead-message{color:var(--text-soft)}.leads-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.leads-admin-key{display:grid;gap:8px;min-width:min(100%,320px)}.leads-admin-key input{width:100%;border-radius:16px;padding:12px 14px;outline:none}.leads-list{display:grid;gap:14px}.lead-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:18px}.lead-card-header,.lead-badges,.lead-meta{display:flex;gap:10px;flex-wrap:wrap}.lead-card-header{align-items:start;justify-content:space-between}.lead-card-header strong{display:block;color:var(--text)}.lead-card-header span,.lead-meta dt{color:var(--text-soft)}.lead-meta{margin:0}.lead-meta div{min-width:120px}.lead-meta dd{margin:4px 0 0;color:var(--text);font-weight:600}.lead-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:700}.lead-badge-success{background:#12b76a1a;color:var(--success)}.lead-badge-warn{background:#ef44441a;color:#ef4444}.lead-badge-muted{background:#1a73e814;color:var(--text-soft)}.compact-shell{max-width:100%;padding:16px 16px 32px;background:radial-gradient(circle at top center,#fffffff5,#ffffffe0),linear-gradient(180deg,#fafbfffa,#f4f7fcf5)}:root[data-theme=dark] .compact-shell{background:radial-gradient(circle at top center,#181c26f5,#11131bf5),linear-gradient(180deg,#12151efa,#0c0e14fa)}.compact-shell .eyebrow{font-size:.74rem}.compact-shell .metric-badge,.compact-shell .tech-pill,.compact-shell .performance-pill{border-radius:999px;font-size:.82rem}.compact-topbar-wrap{position:sticky;top:0;z-index:30;margin:-4px 0 20px;padding-top:4px}.compact-topbar,.ios-card,.compact-contact-section .contact-layout{border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#ffffffe6;box-shadow:0 18px 44px #0000000f}:root[data-theme=dark] .compact-topbar,:root[data-theme=dark] .ios-card,:root[data-theme=dark] .compact-contact-section .contact-layout{border-color:#ffffff14;background:#161922e6}.compact-topbar{position:relative;overflow:hidden;padding:8px 12px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.compact-topbar:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#00000014}:root[data-theme=dark] .compact-topbar:after{background:#ffffff14}.compact-topbar-mobile,.compact-topbar-tablet,.compact-toolbar,.compact-tablet-actions,.compact-topbar-mobile-meta,.compact-hero-badges,.compact-skill-pills,.compact-case-study-head,.compact-case-study-stats,.compact-seo-badges{display:flex;align-items:center}.compact-topbar-mobile{justify-content:space-between;gap:12px}.compact-topbar-mobile-meta{gap:8px;min-width:0}.compact-menu-button{width:40px;height:40px}.compact-topbar-time,.compact-topbar-status,.compact-tablet-meta span{display:inline-flex;align-items:center;min-height:32px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#f8fafceb;padding:0 12px;color:var(--text);font-size:.82rem;font-weight:700;white-space:nowrap}:root[data-theme=dark] .compact-topbar-time,:root[data-theme=dark] .compact-topbar-status,:root[data-theme=dark] .compact-tablet-meta span{border-color:#ffffff14;background:#ffffff0a}.compact-topbar-status:before,.compact-tablet-status:before{content:"";width:7px;height:7px;margin-right:8px;border-radius:999px;background:var(--success);box-shadow:0 0 10px #12b76a47}.compact-menu-button,.compact-nav-link,.compact-menu-link{border:0;background:transparent;color:var(--text)}.compact-menu-button{display:inline-grid;place-items:center;border-radius:12px}.compact-topbar-tablet{display:none}.compact-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;border:0;background:#1018283d}.compact-menu-sheet{position:absolute;top:calc(100% + 10px);right:0;left:0;z-index:29;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fffffff5;box-shadow:0 18px 44px #00000014;padding:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:root[data-theme=dark] .compact-menu-sheet{border-color:#ffffff14;background:#12151ef5}.compact-menu-nav,.compact-menu-controls,.compact-project-metrics,.compact-case-stat,.compact-text-card,.compact-seo-card{display:grid;gap:12px}.compact-menu-link{display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:14px;padding:14px 16px;font-size:1rem;font-weight:600;text-align:left;background:#0f172a0a}:root[data-theme=dark] .compact-menu-link{background:#ffffff0a}.compact-menu-controls{margin-top:16px}.compact-theme-toggle{justify-content:center}.compact-shell section+.compact-section,.compact-shell .compact-profile-card+.compact-section{margin-top:32px}.compact-hero,.compact-profile-card,.compact-contact-section .contact-layout{padding:20px}.compact-hero{text-align:center}.compact-hero h1,.compact-section-header h2,.compact-case-study-head h3,.compact-project-head h3,.compact-open-source-card h3,.compact-seo-card h3{margin:0;color:var(--text);letter-spacing:-.04em}.compact-hero h1{margin-top:12px;font-size:clamp(1.75rem,7.4vw,2rem);line-height:1.1}.compact-hero p,.compact-section-header p,.compact-project-head p,.compact-profile-bio,.compact-seo-card p{margin:0;color:var(--text-soft);font-size:1.0625rem;line-height:1.52}.compact-hero p{margin-top:12px}.compact-hero-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}.compact-shell .primary-button,.compact-shell .secondary-button,.compact-shell .compact-card-button{min-height:50px;width:100%;border-radius:16px;padding:14px 18px}.compact-hero-badges,.compact-skill-pills,.compact-seo-badges{flex-wrap:wrap;gap:10px}.compact-hero-badges{justify-content:center;margin-top:16px}.compact-profile-bio{margin-top:12px}.compact-skill-pills{margin-top:16px}.compact-section{display:grid;gap:16px}.compact-section-header{display:grid;gap:8px}.compact-section-header h2{font-size:clamp(1.4rem,3vw,1.8rem);line-height:1.18}.compact-project-grid,.compact-open-source-grid,.compact-case-study-grid,.compact-seo-grid{display:grid;gap:16px}.compact-project-card,.compact-case-study-card,.compact-open-source-card,.compact-seo-card{padding:16px}.compact-project-card-active{box-shadow:0 18px 44px #0000000f,0 0 0 1px #1a73e81f}.compact-project-head,.compact-case-study-head{display:grid;gap:8px}.compact-project-head h3,.compact-case-study-head h3,.compact-open-source-card h3,.compact-seo-card h3{font-size:1.12rem;line-height:1.25}.compact-project-head p{margin-top:8px}.compact-project-metrics{margin-top:12px}.compact-project-metric,.compact-case-stat,.compact-text-card,.compact-seo-card{border:1px solid rgba(15,23,42,.08);background:#f8fafce6}:root[data-theme=dark] .compact-project-metric,:root[data-theme=dark] .compact-case-stat,:root[data-theme=dark] .compact-text-card,:root[data-theme=dark] .compact-seo-card{border-color:#ffffff14;background:#ffffff08}.compact-project-metric{border-radius:16px;padding:12px 14px;color:var(--text);font-size:.95rem;font-weight:600}.compact-project-card .tech-pill-row{margin-top:12px}.compact-card-button{margin-top:16px}.compact-case-study-stats{flex-direction:column;gap:12px;margin-top:16px}.compact-case-stat,.compact-text-card{border-radius:16px;padding:16px}.compact-case-stat span,.compact-text-card h4{color:var(--text-soft)}.compact-case-stat strong,.compact-text-card h4{color:var(--text)}.compact-case-stat strong{font-size:1rem;line-height:1.45}.compact-text-card h4{margin:0;font-size:1rem}.compact-open-source-card .bullet-list,.compact-seo-card .bullet-list,.compact-text-card .bullet-list{font-size:1rem;line-height:1.55}.compact-contact-section .contact-layout{grid-template-columns:1fr;gap:20px}.compact-contact-section .contact-intro h3{font-size:1.5rem;line-height:1.2}.compact-contact-section .contact-email{font-size:1.0625rem}.compact-contact-section .contact-form{gap:12px}.compact-contact-section .contact-form input,.compact-contact-section .contact-form textarea{border-radius:16px;min-height:52px;padding:14px 16px;background:#f8fafceb}:root[data-theme=dark] .compact-contact-section .contact-form input,:root[data-theme=dark] .compact-contact-section .contact-form textarea{background:#ffffff08}.compact-site-footer{justify-content:center;margin-top:32px;border-top:1px solid rgba(15,23,42,.08);padding-top:16px;text-align:center}.os-shell{--os-padding-x: 18px;--os-icon-size: 72px;--os-icon-radius: 22px;--os-card-radius: 16px;--os-shadow: 0 18px 44px rgba(0, 0, 0, .06);--os-icon-shadow: 0 2px 4px rgba(0, 0, 0, .08), 0 12px 24px rgba(15, 23, 42, .08);--os-border: rgba(15, 23, 42, .08);--os-surface: rgba(255, 255, 255, .9);--os-surface-soft: rgba(255, 255, 255, .74);--os-dock-height: 92px;--os-ease-out: cubic-bezier(.22, 1, .36, 1);--os-ease-in: cubic-bezier(.4, 0, 1, 1);--os-ease-standard: cubic-bezier(.2, 0, 0, 1);position:relative;min-height:100vh;padding:14px var(--os-padding-x) calc(20px + env(safe-area-inset-bottom));color:var(--text);overscroll-behavior:none}.os-shell[data-os-mode=home]{padding-bottom:calc(var(--os-dock-height) + 28px + env(safe-area-inset-bottom))}:root[data-theme=dark] .os-shell{--os-border: rgba(255, 255, 255, .12);--os-surface: rgba(18, 21, 30, .92);--os-surface-soft: rgba(18, 21, 30, .68);--os-shadow: 0 26px 60px rgba(0, 0, 0, .34);--os-icon-shadow: 0 2px 4px rgba(0, 0, 0, .22), 0 18px 32px rgba(0, 0, 0, .28)}.os-wallpaper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at 18% 12%,rgba(26,115,232,.16),transparent 38%),radial-gradient(circle at 82% 0%,rgba(0,198,255,.12),transparent 40%),radial-gradient(circle at 30% 90%,rgba(99,102,241,.1),transparent 46%),linear-gradient(180deg,#ffffffe0,#f4f7fceb)}:root[data-theme=dark] .os-wallpaper{background:radial-gradient(circle at 18% 12%,rgba(26,115,232,.18),transparent 42%),radial-gradient(circle at 82% 0%,rgba(0,198,255,.14),transparent 44%),radial-gradient(circle at 30% 90%,rgba(99,102,241,.12),transparent 50%),linear-gradient(180deg,#12151ef0,#0c0e14f5)}.os-topbar,.os-app-nav,.os-home-grid,.os-dock,.os-app-shell{position:relative;z-index:1}.os-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:52px;margin:-4px 0 18px;padding:10px 12px;border:1px solid var(--os-border);border-radius:20px;background:var(--os-surface-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--os-shadow)}.os-topbar-left,.os-topbar-right{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--os-border);background:#f8fafceb;font-size:.85rem;font-weight:700;color:var(--text);justify-self:start;white-space:nowrap}:root[data-theme=dark] .os-topbar-left,:root[data-theme=dark] .os-topbar-right{background:#ffffff0a}.os-topbar-right{width:30px;min-width:30px;justify-content:center;justify-self:end;padding:0}.os-status-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.os-topbar-title{font-size:.95rem;font-weight:800;letter-spacing:-.03em;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:10px}.os-topbar-logo{width:22px;height:22px;border-radius:7px;-o-object-fit:cover;object-fit:cover;box-shadow:0 10px 20px #0000001f;flex:0 0 auto}.os-home-surface{position:relative;z-index:1;transition:opacity .22s var(--os-ease-standard),transform .22s var(--os-ease-standard)}.os-home-surface:before{content:"";position:fixed;left:50%;bottom:calc(var(--os-dock-height) + 30px + env(safe-area-inset-bottom));width:min(36vw,180px);aspect-ratio:1;transform:translate(-50%);background:url(/logo.png) no-repeat center center / contain;opacity:.18;filter:drop-shadow(0 8px 24px rgba(15,23,42,.1)) contrast(1.06);pointer-events:none;z-index:0}:root[data-theme=dark] .os-home-surface:before{opacity:.12;filter:drop-shadow(0 10px 28px rgba(0,0,0,.24)) contrast(1.02)}.os-home-surface-hidden{opacity:0;transform:scale(.985);pointer-events:none}.os-app-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;padding:86px var(--os-padding-x) calc(24px + env(safe-area-inset-bottom));pointer-events:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.os-app-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a2e;-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);opacity:1}:root[data-theme=dark] .os-app-overlay:before{background:#00000052;-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}.os-app-overlay-opening:before{animation:ios-scrim-in .36s var(--os-ease-out) both}.os-app-overlay-closing:before{animation:ios-scrim-out .22s var(--os-ease-in) both}.os-app-overlay .os-app-shell{position:relative;z-index:1;width:100%;max-width:980px;margin:0 auto;max-height:calc(100dvh - 110px - env(safe-area-inset-bottom))}.os-home-layout{display:grid;gap:20px}.os-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;padding-bottom:18px}.os-app-icon{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;border:0;padding:0;background:transparent;color:inherit}.os-app-glyph,.os-dock-icon,.os-sidebar-link,.os-sidebar-link-icon{transition:transform .18s var(--os-ease-out),box-shadow .18s var(--os-ease-out),background-color .18s var(--os-ease-out),opacity .18s var(--os-ease-out)}.os-app-icon:focus-visible{outline:2px solid rgba(26,115,232,.48);outline-offset:6px;border-radius:18px}.os-app-icon:active .os-app-glyph,.os-dock-icon:active .os-app-glyph{transform:scale(.92)}.os-app-glyph{width:var(--os-icon-size);height:var(--os-icon-size);border-radius:var(--os-icon-radius);display:grid;place-items:center;position:relative;overflow:hidden;color:#fff;box-shadow:var(--os-icon-shadow);border:1px solid rgba(255,255,255,.72)}.os-app-glyph:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.55),transparent 55%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.18),transparent 52%);opacity:.72;pointer-events:none}.os-app-glyph:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 1px #ffffff61;pointer-events:none}.os-app-glyph>svg{position:relative;z-index:1}:root[data-theme=dark] .os-app-glyph{border-color:#ffffff24}.os-app-label{font-size:.86rem;line-height:1.15;font-weight:700;color:var(--text);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-dock{position:fixed;left:var(--os-padding-x);right:var(--os-padding-x);bottom:calc(14px + env(safe-area-inset-bottom));height:var(--os-dock-height);border-radius:24px;border:1px solid var(--os-border);background:#ffffff8f;box-shadow:var(--os-shadow);-webkit-backdrop-filter:blur(26px) saturate(1.2);backdrop-filter:blur(26px) saturate(1.2);display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 14px}.os-dock:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(180deg,#ffffff57,#ffffff1f);pointer-events:none}:root[data-theme=dark] .os-dock{background:#12151e94}:root[data-theme=dark] .os-dock:before{background:linear-gradient(180deg,#ffffff0f,#ffffff05)}.os-dock-icon{position:relative;z-index:1;border:0;background:transparent;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;padding:0;transition:transform .16s var(--os-ease-out),background-color .16s var(--os-ease-out)}.os-dock-icon .os-app-glyph{width:58px;height:58px;border-radius:18px}.os-dock-icon:hover{transform:translateY(-1px)}.os-dock-icon:active{transform:translateY(0)}.os-app-shell{border:1px solid var(--os-border);border-radius:26px;background:var(--os-surface-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--os-shadow);overflow:hidden;display:flex;flex-direction:column}.os-app-shell-opening{animation:ios-app-open .36s var(--os-ease-out) both}.os-app-shell-closing{animation:ios-app-close .24s var(--os-ease-in) both}.os-app-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--os-border);background:#ffffffb3;flex:0 0 auto}:root[data-theme=dark] .os-app-nav{background:#12151eb3}.os-back{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;color:var(--primary);font-weight:800;justify-self:start}.os-app-nav-title{font-weight:900;letter-spacing:-.03em;text-align:center;justify-self:center}.os-app-nav-spacer{justify-self:end}.os-app-body{padding:16px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.os-card{border:1px solid var(--os-border);border-radius:var(--os-card-radius);background:var(--os-surface);box-shadow:0 8px 24px #0f172a0f}:root[data-theme=dark] .os-card{box-shadow:0 18px 44px #00000047}.os-card-grid{display:grid;gap:16px}.os-card-body{padding:14px 14px 16px;display:grid;gap:10px;text-align:left}.os-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.os-tool-heading{display:flex;align-items:flex-start;gap:12px}.os-tool-heading p{margin:6px 0 0;color:var(--text-soft);font-size:.92rem;line-height:1.45}.os-tool-icon,.os-sidebar-link-icon{width:34px;height:34px;border-radius:12px;display:inline-grid;place-items:center;color:#fff;box-shadow:var(--os-icon-shadow)}.os-card-heading h3{margin:0;font-size:1.05rem;line-height:1.25;letter-spacing:-.03em}.os-card-body p{margin:0;color:var(--text-soft);font-size:1.02rem;line-height:1.55}.os-project-card{border:0;padding:0;text-align:left;background:transparent}.os-project-card.os-card{background:var(--os-surface);border:1px solid var(--os-border)}.os-project-thumb{height:78px;border-radius:calc(var(--os-card-radius) - 2px);overflow:hidden;background:#ffffff08}.os-project-thumb-image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.os-tag-row{display:flex;flex-wrap:wrap;gap:8px}.os-tag{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#0f172a0a;border:1px solid rgba(15,23,42,.08);color:var(--text);font-size:.85rem;font-weight:700}:root[data-theme=dark] .os-tag{background:#ffffff0a;border-color:#ffffff1a}.os-inline-back{border:0;background:transparent;color:var(--primary);display:inline-flex;align-items:center;gap:8px;padding:0;font-weight:800;margin-bottom:14px}.os-project-detail-card{padding:16px}.os-project-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.os-project-detail-head h2{margin:8px 0 0;font-size:1.55rem;line-height:1.1;letter-spacing:-.04em}.os-project-detail-grid{margin-top:18px;display:grid;gap:14px}.os-subcard{padding:14px;display:grid;gap:6px}.os-subcard span{color:var(--text-soft);font-size:.92rem;font-weight:700}.os-subcard strong{font-size:1rem;line-height:1.45}.os-subcard h3{margin:0;font-size:1.05rem;letter-spacing:-.03em}.os-metric-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.os-seo{display:grid;gap:16px}.os-seo-card{padding:18px}.os-seo-card h2{margin:10px 0 0;font-size:1.55rem;letter-spacing:-.04em}.os-seo-card h3{margin:0 0 10px;font-size:1.2rem;letter-spacing:-.03em}.os-contact .contact-layout{grid-template-columns:1fr;gap:18px;border:1px solid var(--os-border);border-radius:var(--os-card-radius);padding:18px;background:var(--os-surface);box-shadow:var(--os-shadow)}.os-contact .contact-form input,.os-contact .contact-form textarea{border-radius:16px;min-height:52px;padding:14px 16px;background:#f8fafceb}:root[data-theme=dark] .os-contact .contact-form input,:root[data-theme=dark] .os-contact .contact-form textarea{background:#ffffff0a}.os-app-window>*{width:100%}.os-settings{display:grid;gap:16px}.os-settings-card{padding:16px}.os-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.os-sidebar{display:grid;gap:16px;align-content:start;padding:20px;border:1px solid var(--os-border);border-radius:22px;background:var(--os-surface-soft);box-shadow:var(--os-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.os-sidebar-head h2{margin:10px 0 0;font-size:2rem;line-height:1;letter-spacing:-.05em}.os-sidebar-list,.os-sidebar-controls{display:grid;gap:10px}.os-sidebar-link{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:16px;padding:12px 14px;text-align:left;background:#ffffff6b;color:var(--text);font-weight:700}:root[data-theme=dark] .os-sidebar-link{background:#ffffff0a}.os-sidebar-link:hover{transform:translateY(-1px)}.os-icon-tint-blue{background:linear-gradient(180deg,#8ec5ff,#5ba8ff)}.os-icon-tint-indigo{background:linear-gradient(180deg,#a7b8ff,#7f92ff)}.os-icon-tint-green{background:linear-gradient(180deg,#8be5bd,#56c98e)}.os-icon-tint-pink{background:linear-gradient(180deg,#ffb7d5,#ff8eb9)}.os-icon-tint-violet{background:linear-gradient(180deg,#ceb6ff,#b18fff)}.os-icon-tint-amber{background:linear-gradient(180deg,#ffd59c,#ffb867)}.os-icon-tint-slate{background:linear-gradient(180deg,#aeb9ca,#8e9aae)}.os-icon-tint-gray{background:linear-gradient(180deg,#cad1db,#a9b4c4)}.ios-animate{animation:ios-slide-up .32s ease-out both}.site-footer{max-width:1240px;margin:24px auto 0;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:18px;font-size:.88rem}@keyframes window-enter{0%{opacity:0;transform:scale(.98)}to{opacity:1}}@keyframes ios-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ios-app-open{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ios-app-close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@keyframes ios-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes ios-scrim-out{0%{opacity:1}to{opacity:0}}@media(max-width:1180px){.hero-grid,.contact-layout,.about-layout,.case-study-grid,.stack-grid{grid-template-columns:1fr}.desktop-surface{min-height:1320px}.floating-window-projects,.floating-window-about,.floating-window-tech,.floating-window-contact,.floating-window-speed{left:220px;right:18px;width:auto}.floating-window-about{top:420px}.floating-window-tech{top:690px}.floating-window-contact{top:960px;bottom:auto}.floating-window-speed{top:1210px;bottom:auto}.project-grid{grid-template-columns:1fr}}@media(min-width:768px){.compact-shell{padding-inline:32px;padding-top:24px}.compact-topbar-mobile{display:none}.compact-topbar-tablet{display:flex;align-items:center;justify-content:space-between;gap:24px}.compact-topbar-label{margin:0 0 8px;color:var(--text-soft);font-size:.85rem;font-weight:600}.compact-topbar-tablet h2{margin:0;color:var(--text);font-size:2rem;letter-spacing:-.05em}.compact-tablet-actions{justify-content:flex-end;gap:16px;flex-wrap:wrap}.compact-topbar{padding:16px 20px}.compact-topbar-tablet-copy{min-width:0}.compact-tablet-meta,.compact-tablet-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-nav-link{border-radius:999px;padding:10px 14px;font-size:.92rem;font-weight:700;background:#0f172a0a}:root[data-theme=dark] .compact-nav-link{background:#ffffff0a}.compact-toolbar{gap:12px}.compact-hero,.compact-profile-card,.compact-contact-section .contact-layout{padding:24px}.compact-hero h1{font-size:2rem}.compact-hero-actions{flex-direction:row;justify-content:center}.compact-shell .primary-button,.compact-shell .secondary-button{width:auto;min-width:220px}.compact-project-grid,.compact-open-source-grid,.compact-seo-grid,.compact-case-study-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-case-study-stats{flex-direction:row;align-items:stretch}.compact-case-stat{flex:1}.os-shell{--os-padding-x: 32px;--os-icon-size: 92px;--os-dock-height: 108px}.os-topbar{padding:14px 16px;border-radius:22px}.os-topbar-title{font-size:1.05rem}.os-home-layout{grid-template-columns:256px minmax(0,1fr);align-items:start;gap:24px}.os-home-surface:before{width:min(24vw,220px);bottom:calc(var(--os-dock-height) + 34px + env(safe-area-inset-bottom))}.os-app-overlay{padding-top:96px}.os-app-overlay .os-app-shell{max-width:1120px}.os-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.os-dock{border-radius:26px;gap:16px;padding:14px 18px}.os-dock-icon,.os-dock-icon .os-app-glyph{width:74px;height:74px;border-radius:20px}.os-app-body{padding:20px}.os-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.os-project-thumb{height:92px}.os-project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.os-subcard-full{grid-column:1 / -1}}@media(max-width:860px){.portfolio-shell{padding-inline:16px}.system-status-bar,.hero-window,.desktop-surface{border-radius:24px}.desktop-surface{min-height:auto;padding:18px}.desktop-icons-layer,.windows-layer{position:relative}.desktop-icons-layer{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}.desktop-icon{position:relative;width:100%;transform:none!important}.floating-window{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;margin-top:14px;transform:none!important}.window-header{cursor:default}.window-resize-handle{display:none}.hero-copy h1{max-width:none;font-size:clamp(2.4rem,11vw,4rem)}.score-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
