*,:after,:before{--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:rgba(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:rgba(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: }/*! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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{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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Geist Mono,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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.block{display:block}.flex{display:flex}.grid{display:grid}.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}.uppercase{text-transform:uppercase}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400 700;src:url(../assets/fonts/space-grotesk-latin-700-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400 900;src:url(../assets/fonts/geist-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400 700;src:url(../assets/fonts/geist-mono-latin-500-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:dark;--bg:#090e14;--bg-soft:#0e1722;--surface:rgba(15,25,36,.78);--surface-strong:#121f2d;--surface-hover:#182a3d;--text:#f1f5f9;--muted:#94a3b8;--line:rgba(241,245,249,.12);--ink:#090e14;--danger:#f87171;--success:#10b981;--shadow:0 24px 60px -12px rgba(0,0,0,.6);--shadow-sm:0 6px 24px rgba(0,0,0,.35);--radius-xl:20px;--radius-lg:16px;--radius-md:10px;--max-width:1120px;--font-display:"Space Grotesk","Aptos Display",system-ui,sans-serif;--font-body:"Geist Sans","Aptos",system-ui,sans-serif;--font-mono:"Geist Mono","JetBrains Mono",Consolas,monospace;--accent:#10b981;--accent-strong:#059669;--accent-cool:#34d399;--accent-glow:rgba(16,185,129,.25);--line-strong:rgba(16,185,129,.32)}[data-palette=violet]{--accent:#c084fc;--accent-strong:#a855f7;--accent-cool:#818cf8;--accent-glow:rgba(192,132,252,.25);--line-strong:rgba(192,132,252,.32)}[data-palette=blue]{--accent:#38bdf8;--accent-strong:#0284c7;--accent-cool:#60a5fa;--accent-glow:rgba(56,189,248,.25);--line-strong:rgba(56,189,248,.32)}[data-palette=amber]{--accent:#fbbf24;--accent-strong:#f59e0b;--accent-cool:#fb7185;--accent-glow:rgba(251,191,36,.25);--line-strong:rgba(251,191,36,.32)}.light-mode{color-scheme:light;--bg:#f8fafc;--bg-soft:#f1f5f9;--surface:hsla(0,0%,100%,.92);--surface-strong:#fff;--surface-hover:#f8fafc;--text:#0f172a;--muted:#475569;--line:rgba(15,23,42,.12);--ink:#fff;--danger:#dc2626;--success:#059669;--shadow:0 24px 60px -12px rgba(15,23,42,.14);--shadow-sm:0 6px 20px rgba(15,23,42,.08);--accent:#047857;--accent-strong:#065f46;--accent-cool:#0f766e;--accent-glow:rgba(4,120,87,.2);--line-strong:rgba(4,120,87,.3)}.light-mode[data-palette=violet],[data-palette=violet].light-mode{--accent:#7e22ce;--accent-strong:#6b21a8;--accent-cool:#4338ca;--accent-glow:rgba(126,34,206,.18);--line-strong:rgba(126,34,206,.28)}.light-mode[data-palette=blue],[data-palette=blue].light-mode{--accent:#0369a1;--accent-strong:#075985;--accent-cool:#2563eb;--accent-glow:rgba(3,105,161,.18);--line-strong:rgba(3,105,161,.28)}.light-mode[data-palette=amber],[data-palette=amber].light-mode{--accent:#b45309;--accent-strong:#92400e;--accent-cool:#be123c;--accent-glow:rgba(180,83,9,.18);--line-strong:rgba(180,83,9,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--accent) var(--bg);scrollbar-width:thin}body,html{overflow-x:clip}body{min-height:100vh;min-height:100dvh;margin:0;background:radial-gradient(circle at 10% 8%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 34rem),radial-gradient(circle at 90% 14%,color-mix(in srgb,var(--accent-cool) 20%,transparent),transparent 30rem),linear-gradient(135deg,var(--bg),var(--bg-soft) 55%,var(--bg));color:var(--text);font-family:var(--font-body);font-size:15.5px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .22s ease,color .22s ease}body:before{z-index:-3;opacity:.32;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 82%);mask-image:linear-gradient(180deg,#000,transparent 82%)}body:after,body:before{position:fixed;inset:0;pointer-events:none;content:""}body:after{z-index:90;opacity:.024;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E")}body.menu-open,body.modal-open{overflow:hidden}img,svg{max-width:100%;display:block}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{border:0;background:transparent}::-moz-selection{background:var(--accent);color:var(--ink)}::selection{background:var(--accent);color:var(--ink)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--accent-strong));border:2px solid var(--bg);border-radius:999px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;z-index:300;transform:translateY(-150%);border-radius:999px;background:var(--accent);color:var(--ink);padding:.7rem 1.2rem;font-weight:800;box-shadow:var(--shadow);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;inset:0 0 auto;z-index:100;padding:.85rem 1rem;transition:transform .22s ease,background .22s ease,border-color .22s ease}.site-header.is-scrolled .nav-shell{background:color-mix(in srgb,var(--surface-strong) 90%,transparent);border-color:var(--line-strong);box-shadow:var(--shadow)}.scroll-progress{display:none}@supports (animation-timeline:scroll()){.scroll-progress{display:block;position:fixed;top:0;left:0;z-index:300;width:100%;height:3px;background:linear-gradient(90deg,var(--accent-strong),var(--accent),var(--accent-cool));transform-origin:0 50%;transform:scaleX(0);animation:scroll-progress-fill linear forwards;animation-timeline:scroll()}@keyframes scroll-progress-fill{to{transform:scaleX(1)}}}.nav-shell{justify-content:space-between;width:min(var(--max-width),calc(100% - 2rem));margin:0 auto;padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.brand,.nav-actions,.nav-links,.nav-shell{display:flex;align-items:center}.brand{gap:.8rem}.brand-mark{display:inline-grid;place-items:center;min-width:2.85rem;height:2.6rem;padding:0 .45rem;border-radius:.75rem;background:linear-gradient(140deg,color-mix(in srgb,var(--accent-cool) 85%,#fff 15%),var(--accent) 55%,var(--accent-strong));color:var(--ink);font-family:var(--font-display);font-weight:900;font-size:.88rem;letter-spacing:.02em;border:1px solid color-mix(in srgb,var(--accent-cool) 60%,hsla(0,0%,100%,.5));box-shadow:inset 0 1.5px 1.5px hsla(0,0%,100%,.45),inset 0 -2px 3px rgba(0,0,0,.35),0 4px 14px var(--accent-glow),0 1px 2px rgba(0,0,0,.25);text-shadow:0 1px 0 hsla(0,0%,100%,.35),0 -1px 1px rgba(0,0,0,.45);transition:transform .18s ease,box-shadow .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.brand-mark:hover{transform:translateY(-1px) scale(1.02);box-shadow:inset 0 1.5px 1.5px hsla(0,0%,100%,.65),inset 0 -2px 3px rgba(0,0,0,.35),0 6px 20px var(--accent-glow),0 2px 4px rgba(0,0,0,.3)}.brand strong{display:block;font-family:var(--font-display);font-size:.98rem;line-height:1.15}.brand small{display:block;color:var(--muted);font-size:.76rem;line-height:1.2}.nav-links{position:relative;display:flex;align-items:center;gap:.25rem}.nav-indicator{position:absolute;top:.35rem;bottom:.35rem;left:0;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 20%,transparent);pointer-events:none;transition:transform .28s cubic-bezier(.25,1,.5,1),width .28s cubic-bezier(.25,1,.5,1),opacity .2s ease;z-index:0;opacity:0}.nav-link{position:relative;z-index:1;border-radius:999px;color:var(--muted);font-size:.88rem;font-weight:700;padding:.55rem .95rem;transition:color .18s ease,transform .12s ease;background:transparent}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--accent)}.nav-actions{gap:.5rem}.ghost-button,.menu-toggle,.palette-trigger,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 75%,transparent);color:var(--text);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.ghost-button:hover,.menu-toggle:hover,.palette-trigger:hover,.theme-toggle:hover{border-color:var(--line-strong);background:var(--surface-hover)}.ghost-button{gap:.45rem;padding:0 .85rem;font-size:.82rem;font-weight:700}.ghost-button svg{width:1rem;height:1rem;stroke:currentColor}.palette-menu-wrap{position:relative;display:inline-flex}.palette-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:0 .75rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 75%,transparent);color:var(--text);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.palette-trigger:hover{border-color:var(--line-strong);background:var(--surface-hover);transform:translateY(-1px)}.palette-trigger svg{width:1rem;height:1rem;stroke:var(--accent);flex-shrink:0}.active-palette-badge{display:flex;align-items:center;gap:.2rem;margin-left:.1rem}.active-dot-a,.active-dot-b{width:.55rem;height:.55rem;border-radius:50%;box-shadow:0 0 5px var(--accent-glow)}.active-dot-a{background:var(--accent)}.active-dot-b{background:var(--accent-cool)}.palette-popover{display:none;position:absolute;top:calc(100% + .65rem);right:0;width:210px;background:color-mix(in srgb,var(--surface-strong) 94%,#000 6%);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 16px 36px rgba(0,0,0,.5),0 0 0 1px var(--line);padding:.6rem;z-index:999;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.palette-popover.open{display:flex;flex-direction:column;animation:popoverFadeIn .16s cubic-bezier(.16,1,.3,1) forwards}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-popover-header{padding:.25rem .45rem .45rem;font-size:.72rem;font-weight:800;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:.35rem}.palette-options{display:flex;flex-direction:column;gap:.25rem}.palette-option{display:flex;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text);font-size:.84rem;font-weight:700;cursor:pointer;text-align:left;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.palette-option:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.palette-option.active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.palette-option-name{font-size:.82rem;font-weight:700}.palette-swatch{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0}.palette-swatch span{width:.7rem;height:.7rem;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.5)}.keycap{border:1px solid var(--line-strong);border-radius:.35rem;color:var(--accent);font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:.1rem .4rem;background:color-mix(in srgb,var(--bg) 60%,transparent)}.theme-toggle{position:relative;width:3.8rem;height:2.35rem;min-height:2.35rem;padding:0;overflow:hidden}.theme-toggle-track{position:absolute;inset:.22rem;border-radius:inherit;background:radial-gradient(circle at 22% 50%,var(--accent) 0 .28rem,transparent .32rem),radial-gradient(circle at 78% 50%,var(--accent-cool) 0 .28rem,transparent .32rem)}.theme-toggle-dot{position:absolute;top:50%;left:.24rem;width:1.68rem;height:1.68rem;border-radius:50%;background:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.35);transform:translateY(-50%);transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.light-mode .theme-toggle-dot{transform:translateY(-50%) translateX(1.58rem)}.theme-icon-moon,.theme-icon-sun{display:none}.menu-toggle{display:none;width:2.6rem;flex-direction:column;gap:.3rem}.menu-toggle span{display:block;width:1.15rem;height:2px;border-radius:999px;background:var(--text);transition:transform .2s ease,opacity .2s ease}.menu-open .menu-toggle span:first-child{transform:translateY(5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}.mobile-nav-scrim{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .22s ease}.mobile-nav-scrim.open{opacity:1;pointer-events:auto}.section,main>section[id]{position:relative;width:min(var(--max-width),calc(100% - 2rem));margin:0 auto;padding:6.5rem 0;scroll-margin-top:calc(5.8rem + env(safe-area-inset-top, 0px))}.hero{min-height:85vh;min-height:85dvh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(7.5rem + env(safe-area-inset-top, 0px));padding-bottom:3.5rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:center}.eyebrow{margin:0 0 1.85rem;color:var(--accent);font-family:var(--font-mono);font-weight:700;text-transform:uppercase}.eyebrow,.project-label{font-size:.82rem;letter-spacing:.16em}.project-label{margin:0 0 1rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);font-family:var(--font-display);letter-spacing:-.04em;line-height:1.04}h1{max-width:780px;margin-bottom:1.35rem;font-size:clamp(2.8rem,6.5vw,5.6rem)}h1,h2{line-height:1.08}h2{max-width:820px;font-size:clamp(2.4rem,5.2vw,4.2rem);font-weight:800;letter-spacing:-.035em;margin-bottom:.95rem}h3{font-size:clamp(1.25rem,1.8vw,1.65rem)}.hero-lede,.section-lead{color:var(--muted);font-size:clamp(1.04rem,1.4vw,1.16rem);line-height:1.7}.hero-lede{max-width:660px;margin-bottom:2.25rem}.role-rotator-slot{display:inline-block;min-width:17.5ch;text-align:left;vertical-align:bottom}#dynamic-role{position:relative;display:inline-block;color:var(--accent);text-shadow:0 0 26px color-mix(in srgb,var(--accent) 40%,transparent);white-space:nowrap}#dynamic-role:after{display:inline-block;width:.08em;height:.88em;margin-left:.08em;background:var(--accent-cool);content:"";transform:translateY(.08em);animation:blink 1s steps(1) infinite}.contact-links,.filter-bar,.hero-actions,.project-actions,.tag-row{display:flex;flex-wrap:wrap;gap:.85rem}.filter-bar{margin:2rem 0 3.5rem}.contact-links a,.contact-links button,.filter-chip,.primary-button,.project-actions a,.project-actions button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;border-radius:999px;cursor:pointer;font-weight:800;font-size:.92rem;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.primary-button{border:1px solid transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--ink);padding:.65rem 1.15rem .65rem 1.45rem;box-shadow:0 6px 22px var(--accent-glow)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 40%,transparent)}.contact-links a,.contact-links button,.filter-chip,.project-actions a,.project-actions button,.secondary-button{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text);padding:.65rem 1.15rem .65rem 1.25rem}.contact-links a:hover,.contact-links button:hover,.filter-chip:hover,.project-actions a:hover,.project-actions button:hover,.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-hover);transform:translateY(-2px)}.contact-links a:active,.contact-links button:active,.filter-chip:active,.primary-button:active,.project-actions a:active,.project-actions button:active,.secondary-button:active{transform:translateY(0) scale(.98)}.btn-icon-pill{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:50%;background:rgba(0,0,0,.16);margin-left:.35rem;flex-shrink:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .18s ease}.light-mode .btn-icon-pill{background:hsla(0,0%,100%,.4)}.secondary-button .btn-icon-pill{background:color-mix(in srgb,var(--line) 90%,transparent)}.primary-button:hover .btn-icon-pill,.project-actions a:hover .btn-icon-pill,.project-actions button:hover .btn-icon-pill,.secondary-button:hover .btn-icon-pill{transform:translateX(3px)}.primary-button:active .btn-icon-pill,.secondary-button:active .btn-icon-pill{transform:translateX(1px) scale(.96)}.command-item:active,.dialog-close:active,.ghost-button:active,.menu-toggle:active,.nav-link:active,.palette-trigger:active,.sim-segment button:active,.theme-toggle:active{transform:scale(.94)}.palette-trigger:active{transform:translateY(0) scale(.96)}.dialog-close:active{transform:rotate(90deg) scale(.94)}.filter-chip.active{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--ink);box-shadow:0 4px 16px var(--accent-glow)}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:700px;margin:2.5rem 0 0}.signal-grid div{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 75%,transparent);padding:1.25rem;backdrop-filter:blur(12px);transition:border-color .2s ease,transform .2s ease}.signal-grid div:hover{border-color:var(--line-strong);transform:translateY(-2px)}.signal-grid dt{color:var(--accent);font-family:var(--font-display);font-size:2.35rem;font-weight:800;line-height:1.05;letter-spacing:-.035em;font-variant-numeric:tabular-nums;text-shadow:0 0 20px var(--accent-glow)}.signal-grid dd{margin:.4rem 0 0;color:var(--muted);font-family:var(--font-body);font-size:.88rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}.profile-card,.profile-visual{position:relative}.profile-visual{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-strong);box-shadow:inset 0 1px 1px 0 hsla(0,0%,100%,.12),var(--shadow)}.profile-visual img{width:100%;aspect-ratio:1/1.05;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.status-pill{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.85rem;border:1px solid var(--line-strong);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);padding:.75rem 1.1rem;color:var(--text);font-size:.86rem;font-weight:700;backdrop-filter:blur(16px);box-shadow:var(--shadow-sm)}.status-dot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:.65rem;height:.65rem;border-radius:50%;background-color:#10b981;flex-shrink:0;margin:0 .35rem 0 .25rem}.status-dot:before{content:"";position:absolute;inset:-2px;border-radius:50%;background-color:rgba(16,185,129,.65);animation:liveGreenRipple 2s cubic-bezier(0,0,.2,1) infinite;pointer-events:none;z-index:-1}@keyframes liveGreenRipple{0%{transform:scale(.9);opacity:.85}60%{transform:scale(2);opacity:0}to{transform:scale(2.2);opacity:0}}.skills-metric-pill .status-dot{background-color:var(--accent-cool,#60a5fa);box-shadow:0 0 8px var(--accent-glow)}.skills-metric-pill .status-dot:before{background-color:color-mix(in srgb,var(--accent-cool,#60a5fa) 65%,transparent);animation:liveCoolRipple 2.2s cubic-bezier(0,0,.2,1) infinite}@keyframes liveCoolRipple{0%{transform:scale(.9);opacity:.85}60%{transform:scale(2.2);opacity:0}to{transform:scale(2.4);opacity:0}}.timeline-item time .status-dot{margin-right:.35rem}.terminal-card{position:relative;margin-top:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 92%,transparent);box-shadow:var(--shadow-sm);padding:1.15rem;backdrop-filter:blur(16px)}.terminal-bar{display:flex;align-items:center;gap:.4rem;margin-bottom:.85rem}.terminal-bar span{width:.65rem;height:.65rem;border-radius:50%;background:var(--accent)}.terminal-bar span:nth-child(2){background:var(--accent-cool)}.terminal-bar span:nth-child(3){background:var(--accent-strong)}.terminal-card pre{white-space:pre-wrap;overflow-wrap:break-word;font-size:.78rem}pre{margin:0;overflow-x:auto;color:var(--muted);font-family:var(--font-mono);font-size:.84rem;line-height:1.6}.tech-strip{display:flex;flex-wrap:nowrap;gap:0;margin-top:1.75rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.tech-strip-track{display:flex;flex:none;align-items:center;gap:.75rem;width:-moz-max-content;width:max-content;padding-right:.75rem;animation:tech-ticker 32s linear infinite}.tech-strip:focus-within .tech-strip-track,.tech-strip:hover .tech-strip-track{animation-play-state:paused}@keyframes tech-ticker{to{transform:translateX(-100%)}}.tech-strip span{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:.84rem;font-weight:600;padding:.55rem 1.05rem;transition:border-color .18s ease,color .18s ease,transform .18s ease}.tech-strip span:hover{border-color:var(--accent);color:var(--text);transform:translateY(-2px)}.about-card,.contact-card,.project-card,.skills-card,.spotlight-card{position:relative;border:1px solid var(--line);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:inset 0 1px 1px 0 hsla(0,0%,100%,.1),var(--shadow-sm);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.light-mode .about-card,.light-mode .contact-card,.light-mode .project-card,.light-mode .skills-card,.light-mode .spotlight-card{box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.8),var(--shadow-sm)}.project-card:hover,.skills-card:hover,.spotlight-card:hover{border-color:var(--line-strong);box-shadow:inset 0 1px 1px 0 hsla(0,0%,100%,.16),0 14px 38px -10px var(--accent-glow),var(--shadow)}.section-head{max-width:780px;margin-bottom:2.75rem}.section-sticky{position:sticky;top:calc(5.4rem + env(safe-area-inset-top, 0px));z-index:60;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:1.75rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.section-sticky .section-index{margin:0;border-top:1px solid var(--line);padding:.65rem max(1rem,calc((100vw - var(--max-width))/2))}.section-sticky h2{margin:0;padding:.7rem max(1rem,calc((100vw - var(--max-width))/2)) .9rem}.section-end{display:flex;justify-content:center;margin-top:clamp(2.5rem,5vw,4rem)}.section-end span{--fill:15%;display:block;width:min(180px,50vw);height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-cool)) 0 0 /var(--fill) 100% no-repeat,color-mix(in srgb,var(--line-strong) 65%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 40%,transparent)}.contact-card .section-index,.mono-label,.section-index{margin:0 0 .85rem;color:var(--accent)!important;font-family:var(--font-mono);font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.75rem;align-items:stretch}.about-card{display:flex;flex-direction:column;padding:2rem;min-height:22rem}.about-resume .primary-button{align-self:flex-start;margin-top:auto}.about-facts{list-style:none;margin:1.15rem 0 1.6rem;padding:0;display:grid;gap:.7rem}.about-facts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .85rem;font-size:.92rem}.about-facts li>span:first-child{flex:none;min-width:5.2rem;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.about-card h3{margin-bottom:.85rem}.role-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.role-chip{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 65%,transparent);color:var(--text);font-size:.86rem;font-weight:700;padding:.5rem .95rem}.strength-list{display:grid;gap:1.25rem;margin:0;padding:0;list-style:none}.strength-list li{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.85rem;color:var(--muted);font-size:.96rem;line-height:1.65}.strength-list li>span{color:var(--accent);font-family:var(--font-mono);font-size:.92rem;font-weight:700;padding-top:.1rem}.strength-list li strong{color:var(--text);font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;transition:opacity .2s ease;align-items:stretch}.project-card{overflow:hidden;display:flex;flex-direction:column;height:100%;border-radius:var(--radius-xl)}.preview-browser-frame{display:flex;flex-direction:column;width:100%}.preview-browser-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 95%,transparent);font-family:var(--font-mono);font-size:.76rem;min-height:2.75rem}.browser-dots{display:flex;gap:.4rem}.browser-dots span{width:.6rem;height:.6rem;border-radius:50%;background:var(--line-strong)}.browser-url-pill{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 60%,transparent);padding:.25rem .8rem;color:var(--muted);max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-url-pill svg{width:.8rem;height:.8rem;stroke:var(--accent);flex-shrink:0}.browser-url-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.live-badge{display:inline-flex;align-items:center;gap:.4rem;color:var(--success);font-size:.74rem;font-weight:700;white-space:nowrap}.live-badge:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--success)}.live-badge-private{color:var(--accent)}.live-badge-private:before{background:var(--accent)}.about-email{font-family:var(--font-mono);font-size:.88rem;color:var(--accent);margin-top:.5rem}a.about-email{margin-top:0;text-decoration:none;overflow-wrap:anywhere}a.about-email:hover{text-decoration:underline}.timeline-location{color:var(--accent);font-weight:700;font-size:.88rem;margin-top:.2rem}.dialog-actions-spaced{margin-top:1.5rem}.shot{position:relative;overflow:hidden;aspect-ratio:16/10;width:100%;background:var(--surface-strong)}.shot img,.shot picture{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:transform .35s ease}.project-card:hover .shot img{transform:scale(1.03)}.shot>a{display:block;width:100%;height:100%;cursor:pointer}.shot>a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.covercraft-tile{position:relative;overflow:hidden;aspect-ratio:16/10;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 65%),linear-gradient(140deg,color-mix(in srgb,var(--accent-strong) 55%,var(--bg)),color-mix(in srgb,var(--accent) 30%,var(--surface-strong)))}.covercraft-mono{font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,7vw,4.5rem);line-height:1;letter-spacing:-.04em;color:var(--ink);text-shadow:0 1px 0 hsla(0,0%,100%,.25)}.covercraft-word{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.22em;color:var(--ink);opacity:.85}.covercraft-lock,.covercraft-word{font-weight:700;text-transform:uppercase}.covercraft-lock{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.35rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--text);font-size:.72rem;letter-spacing:.08em}.project-content{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;padding:1.75rem;gap:.75rem}.project-label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);min-height:1.3rem;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-content h3,.project-label{font-weight:700;margin:0;display:flex}.project-content h3{font-size:1.32rem;line-height:1.35;min-height:3.6rem;align-items:flex-start}.project-content p{color:var(--muted);font-size:.94rem;line-height:1.6;min-height:4.8rem;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;min-height:2.2rem;align-items:center}.tag-row span{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 70%,transparent);color:var(--muted);font-size:.82rem;font-weight:700;padding:.35rem .75rem;white-space:nowrap}.project-actions{display:flex;align-items:center;gap:.85rem;margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--line)}.project-card.is-hidden{display:none}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:stretch}.skills-card{display:flex;flex-direction:column;padding:2rem 2.15rem 2.15rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(20px);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;position:relative;overflow:hidden}.skills-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 30% 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.skills-card:hover{border-color:var(--line-strong);box-shadow:0 12px 40px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-4px)}.skills-card:hover:before{opacity:1}.skills-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.skills-icon-wrap{display:flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;max-height:42px;border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--accent-cool) 10%,transparent));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);flex-shrink:0;overflow:hidden;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 10%,transparent)}.skills-icon-wrap svg{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;stroke:var(--accent);flex-shrink:0;display:block}.skills-card h3{margin:0;font-size:1.28rem;line-height:1.2}.skills-card .mono-label{margin:0 0 .2rem;font-size:.74rem}.skills-metric-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);font-size:.78rem;font-weight:700;margin-bottom:1rem;align-self:flex-start;max-width:100%}.skills-metric-pill>span:last-child{min-width:0;overflow-wrap:anywhere}.skills-metric-pill .status-dot{width:.5rem;height:.5rem}.skills-card p{color:var(--muted);font-size:.94rem;line-height:1.65;margin-bottom:1.35rem}.skills-card .tool-group{margin-top:auto;padding-top:1.15rem;border-top:1px solid var(--line)}.tool-group{display:flex;flex-wrap:wrap;gap:.6rem}.tool-group span{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 70%,transparent);color:var(--muted);font-size:.85rem;font-weight:700;padding:.45rem .85rem;white-space:nowrap;transition:border-color .18s ease,color .18s ease,transform .18s ease}.tool-group span:hover{border-color:var(--accent);color:var(--text);transform:translateY(-2px)}.timeline{display:grid;margin:0;padding:0;list-style:none}.timeline-item{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:2rem;align-items:start;padding:2.25rem 0;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:0;padding-top:0}.timeline-item time{display:inline-flex;align-items:center;gap:.65rem;color:var(--accent);font-family:var(--font-mono);font-size:.94rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:.2rem;padding-bottom:.3rem;border-bottom:2px solid var(--accent);width:-moz-fit-content;width:fit-content;margin:0 0 .5rem;overflow:visible}.timeline-item p{color:var(--muted);margin:.45rem 0 0;font-size:.96rem;line-height:1.65}.about-card,.profile-visual,.project-card,.skills-card,.spotlight-card,.terminal-card{transform:translateZ(0);backface-visibility:hidden}.contact-section,.experience-section,.skills-section{content-visibility:auto;contain-intrinsic-size:auto 600px}.contact-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);gap:3rem;padding:clamp(2rem,5vw,3.5rem)}.contact-card p{color:var(--muted)}.contact-card p.section-index{color:var(--accent)!important}.contact-links{margin-top:2.25rem}form{display:grid;gap:1.25rem}label span{display:block;margin-bottom:.5rem;color:var(--muted);font-size:.9rem;font-weight:700}input,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 50%,transparent);color:var(--text);padding:1rem 1.15rem;font-size:16px;transition:border-color .18s ease,box-shadow .18s ease}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}textarea{resize:vertical}.hidden-field{position:absolute;left:-9999px}.form-message,.form-note{margin:0;color:var(--muted);font-size:.88rem}.form-message{min-height:1.5rem;font-weight:700}.form-message.success{color:var(--success)}.form-message.error{color:var(--danger)}.site-footer{display:flex;align-items:center;justify-content:space-between;width:min(var(--max-width),calc(100% - 2rem));margin:0 auto;padding:3rem 0 4rem;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.site-footer p{margin:0}.footer-brand-wrap{display:flex;flex-direction:column;gap:.25rem}.footer-copy{color:var(--text);font-weight:700;font-size:.94rem}.footer-tagline{color:var(--muted);font-size:.86rem}.site-footer a{color:var(--text);font-weight:800}.footer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem}.footer-actions button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.92rem;font-weight:700;padding:0;transition:color .18s ease}.footer-actions button:hover{color:var(--text)}.footer-actions .footer-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.92rem;font-weight:700;transition:color .18s ease}.footer-actions .footer-link:hover{color:var(--text)}dialog.command-dialog{width:min(600px,calc(100% - 2rem));max-height:85dvh;border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow);padding:0;overflow:hidden}dialog.command-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.command-search-bar{display:flex;align-items:center;gap:.85rem;padding:1.15rem 1.35rem;border-bottom:1px solid var(--line)}.command-search-bar svg{width:1.35rem;height:1.35rem;stroke:var(--muted);flex-shrink:0}.command-search-input{width:100%;border:0;background:transparent;color:var(--text);font-size:1.1rem;font-weight:600;padding:0;outline:none}.command-search-input::-moz-placeholder{color:var(--muted)}.command-search-input::placeholder{color:var(--muted)}.command-results{max-height:400px;overflow-y:auto;padding:.85rem;display:grid;gap:.4rem}.command-item{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem 1rem;border-radius:var(--radius-md);color:var(--text);font-size:.94rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,transform .12s ease;border:1px solid transparent}.command-item.is-selected,.command-item:hover{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.command-item-left{display:flex;align-items:center;gap:.85rem}.command-item-left svg{width:1.15rem;height:1.15rem;stroke:var(--accent)}.command-item-badge{border:1px solid var(--line);border-radius:.35rem;font-size:.74rem;padding:.2rem .45rem}.command-footer,.command-item-badge{color:var(--muted);font-family:var(--font-mono)}.command-footer{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.35rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 60%,transparent);font-size:.76rem}.command-shortcuts{display:flex;gap:1rem}.command-shortcuts kbd{border:1px solid var(--line);border-radius:.3rem;padding:.1rem .4rem;background:color-mix(in srgb,var(--surface) 80%,transparent)}dialog.project-dialog{width:min(760px,calc(100% - 2rem));max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow);padding:clamp(1.75rem,5vw,2.75rem)}dialog.project-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(10px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.dialog-close{display:grid;width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text);cursor:pointer;transition:background .18s ease,transform .18s ease}.dialog-close:hover{background:var(--surface-hover);transform:rotate(90deg)}.dialog-close svg{width:1.15rem;height:1.15rem;stroke:currentColor}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.75rem 0}.dialog-grid>div{border:1px solid var(--line);border-radius:var(--radius-md);padding:1.25rem;background:color-mix(in srgb,var(--bg) 40%,transparent)}.dialog-grid h4{margin:0 0 .6rem;color:var(--accent);font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.dialog-grid p{color:var(--muted);margin:0;font-size:.94rem;line-height:1.6}dialog.resume-dialog{width:min(760px,calc(100% - 2rem));max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface-strong) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--text);box-shadow:var(--shadow);padding:clamp(1.75rem,5vw,2.75rem)}dialog.resume-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.resume-role{margin:.25rem 0 0;color:var(--accent);font-family:var(--font-mono);font-size:.86rem;font-weight:700}.resume-contact{display:flex;flex-wrap:wrap;gap:.45rem .6rem;align-items:center;margin:0 0 1.1rem;font-size:.88rem;color:var(--muted)}.resume-contact a{color:var(--accent);font-weight:700;overflow-wrap:anywhere}.resume-summary{margin:0 0 .25rem;line-height:1.65}.resume-grid p strong{color:var(--text)}.resume-tags{margin:0 0 1.75rem}.resume-actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.estimator,.simulator{margin-top:1.5rem;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 45%,transparent);padding:1.15rem 1.2rem;scroll-margin-top:6.5rem}.simulator-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .6rem;margin:0 0 1rem;font-family:var(--font-mono);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.simulator-note{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--accent);border:1px solid var(--line-strong);border-radius:999px;padding:.2rem .6rem;white-space:nowrap}.sim-field{margin-bottom:1rem}.sim-field:last-child{margin-bottom:0}.sim-field label,.sim-label{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.55rem;font-size:.88rem;font-weight:700;color:var(--text)}.sim-field output{font-family:var(--font-mono);font-size:.82rem;color:var(--accent)}.sim-field input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.sim-segment{display:flex;flex-wrap:wrap;gap:.5rem}.sim-segment button{flex:1 1 auto;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:700;padding:.5rem .9rem;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .12s ease}.sim-segment button:hover{border-color:var(--line-strong);color:var(--text)}.sim-segment button[aria-pressed=true]{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--ink)}.sim-field select{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);color:var(--text);font-size:.88rem;font-weight:600;padding:.6rem .75rem;cursor:pointer}.sim-2col{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1rem}.estimator-output{margin:1.1rem 0 .4rem;font-family:var(--font-display);font-weight:900;font-size:1.9rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--accent)}.estimator-ci{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--muted)}.simulator-foot{margin:0;font-size:.78rem;line-height:1.55;color:var(--muted)}.simulator-foot a{color:var(--accent);font-weight:700}.estimator-summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;cursor:pointer;border-radius:var(--radius-md)}.estimator-summary::-webkit-details-marker{display:none}.estimator-summary:after{content:"+";flex:none;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1;transition:transform .2s ease}details.estimator[open] .estimator-summary:after{transform:rotate(45deg)}.estimator-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.estimator-summary .simulator-title{margin:0}.estimator-mini{font-family:var(--font-display);font-weight:900;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.estimator-body{margin-top:1.1rem}.toast{position:fixed;left:50%;bottom:1.75rem;z-index:200;display:flex;align-items:center;gap:.65rem;transform:translate(-50%,150%);border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow);padding:.85rem 1.45rem;font-weight:700;font-size:.94rem;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .24s cubic-bezier(.34,1.56,.64,1)}.toast svg{width:1.15rem;height:1.15rem;stroke:var(--success)}.toast.show{transform:translate(-50%);opacity:1}.toast-default-badge{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,transparent);border:none;outline:none;text-decoration:none;font-size:.72rem;font-weight:900;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;padding:.15rem .55rem;border-radius:6px;vertical-align:.22em;margin-left:.5rem;line-height:1;box-shadow:0 0 10px var(--accent-glow)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}@media (max-width:960px){.site-header{padding:max(.65rem,env(safe-area-inset-top,.65rem)) .85rem .65rem}.nav-shell{width:100%;padding:.45rem .75rem}.about-grid,.contact-card,.hero-grid,.skills-grid{grid-template-columns:1fr}.hero{display:block;min-height:auto;padding-top:calc(6rem + env(safe-area-inset-top, 0px));padding-bottom:3.5rem}.hero-copy{display:flex;flex-direction:column;justify-content:flex-start;padding-top:.5rem;min-height:calc(100svh - 7.5rem);min-height:calc(100dvh - 7.5rem);min-width:0}.role-rotator-slot{display:block;width:100%;min-width:0;max-width:100%;min-height:1.25em;margin-top:.15rem}.signal-grid{margin-top:auto;padding-top:2rem}.section,main>section[id]{scroll-margin-top:calc(5.5rem + env(safe-area-inset-top, 0px))}.project-content h3,.project-content p,.project-label,.tag-row{min-height:auto}.hero-panel{margin-top:5rem}.profile-card{max-width:360px;margin:0 auto}.nav-indicator{display:none!important}.nav-links{position:fixed;top:calc(5rem + env(safe-area-inset-top, 0px));left:.85rem;right:.85rem;display:flex;flex-direction:column;align-items:stretch;border:1px solid color-mix(in srgb,var(--line-strong) 65%,transparent);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,transparent),transparent 38%),color-mix(in srgb,var(--surface-strong) 40%,transparent);box-shadow:var(--shadow),inset 0 1px 0 hsla(0,0%,100%,.22);padding:.85rem;z-index:100;backdrop-filter:blur(36px) saturate(180%);-webkit-backdrop-filter:blur(36px) saturate(180%);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transition:opacity .22s ease,transform .24s cubic-bezier(.16,1,.3,1),visibility .24s}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.nav-link{padding:.85rem 1.1rem;background:transparent}.nav-link.active,.nav-link:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.command-trigger{display:none}.menu-toggle{display:inline-flex}.section-sticky{top:calc(4.9rem + env(safe-area-inset-top, 0px))}.project-grid{grid-template-columns:1fr;gap:2rem}.timeline-item{grid-template-columns:12rem minmax(0,1fr)}}@media (max-width:640px){.site-header{padding:max(.45rem,env(safe-area-inset-top,.45rem)) .65rem .45rem}.nav-shell{width:100%;padding:.35rem .55rem}.brand{gap:.45rem;min-width:0}.brand strong{font-size:.88rem;white-space:nowrap}.brand small{display:none}.brand-mark{min-width:2.5rem;height:2.25rem;padding:0 .35rem;font-size:.78rem;border-radius:.65rem;flex-shrink:0}.nav-actions{display:flex;gap:.4rem}.nav-actions,.palette-trigger{align-items:center;flex-shrink:0}.palette-trigger{width:auto;min-width:unset;height:2.35rem;min-height:38px;padding:0 .55rem;border-radius:999px;display:inline-flex;justify-content:center;gap:.35rem;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--line)}.palette-trigger .active-palette-badge{display:inline-flex!important;align-items:center;gap:.22rem;margin-left:.05rem}.palette-trigger .active-dot-a,.palette-trigger .active-dot-b{width:.48rem;height:.48rem;border-radius:50%;box-shadow:0 0 5px var(--accent-glow)}.palette-trigger svg{width:1rem;height:1rem;stroke:var(--accent);flex-shrink:0}.menu-toggle,.theme-toggle{width:2.35rem;height:2.35rem;min-height:38px;min-width:38px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--line);flex-shrink:0}.theme-toggle-track{display:none!important}.theme-icon-moon,.theme-icon-sun{display:none;align-items:center;justify-content:center}.dark-mode .theme-icon-moon,.light-mode .theme-icon-sun{display:inline-flex!important;stroke:var(--accent);color:var(--accent)}.theme-icon-moon svg,.theme-icon-sun svg{width:1.15rem;height:1.15rem;stroke:var(--accent)}.section,main>section[id]{width:calc(100% - 1.5rem);padding:3.5rem 0;scroll-margin-top:calc(5.2rem + env(safe-area-inset-top, 0px))}.hero{display:block;min-height:auto;padding-top:calc(5.8rem + env(safe-area-inset-top, 0px));padding-bottom:3.5rem}.hero-copy{display:flex;flex-direction:column;justify-content:flex-start;padding-top:.85rem;min-height:calc(100svh - 7.5rem);min-height:calc(100dvh - 7.5rem);min-width:0}.eyebrow{display:inline-flex;align-items:center;margin-bottom:2.75rem}h1{font-size:clamp(1.85rem,8.2vw,2.5rem);letter-spacing:-.025em;line-height:1.18}.role-rotator-slot{display:block;width:100%;min-width:0;max-width:100%;min-height:1.25em;margin-top:.15rem}#dynamic-role{min-width:0}h2{font-size:clamp(1.65rem,6.8vw,2.2rem)}.hero-lede{font-size:.98rem;margin-bottom:2.25rem}.signal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:auto;padding:2.5rem 0 0;border-top:1px solid var(--line)}.signal-grid div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:7rem;padding:1.5rem .6rem;text-align:center}.signal-grid dt{font-family:var(--font-display);font-size:clamp(1.75rem,6.6vw,2.15rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}.signal-grid dd{font-family:var(--font-body);font-size:.8rem;font-weight:600;line-height:1.25}.hero-panel{margin-top:1.75rem}.profile-card{max-width:320px;margin:0 auto}.status-pill{left:.65rem;right:.65rem;bottom:.75rem;padding:.55rem .75rem;font-size:.76rem;gap:.45rem;white-space:normal;text-align:center;justify-content:center}.about-card{padding:1.5rem 1.25rem;min-height:auto}.strength-list li{grid-template-columns:2rem minmax(0,1fr);gap:.65rem}.filter-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.4rem;margin:1.25rem 0 2rem;gap:.5rem;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-left:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 24px),transparent)}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;padding:.6rem 1.1rem;min-height:2.75rem;font-size:.85rem;flex-shrink:0;scroll-snap-align:start}.preview-browser-bar{min-height:2.25rem;padding:.45rem .75rem}.browser-dots{flex-shrink:0}.browser-url-pill{flex:1 1 auto;min-width:0;max-width:none;font-size:.72rem}.live-badge{flex-shrink:0;font-size:.7rem;gap:.25rem}.shot{height:190px;max-height:200px;aspect-ratio:auto}.shot img,.shot picture{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.covercraft-tile{height:180px;max-height:190px;aspect-ratio:auto;padding:1rem}.covercraft-mono{font-size:2.6rem}.project-content{padding:1.25rem 1.15rem;gap:.6rem}.project-content h3{font-size:1.2rem;line-height:1.3}.project-content p{font-size:.88rem;line-height:1.55;-webkit-line-clamp:3}.skills-card{padding:1.5rem 1.25rem}.skills-metric-pill{max-width:100%;white-space:normal;line-height:1.3;font-size:.74rem}.dialog-grid,.skills-grid,.timeline-item{grid-template-columns:1fr;gap:.75rem}.section-head{margin-bottom:2rem;padding:0}.section-sticky{top:calc(4.05rem + env(safe-area-inset-top, 0px));margin-bottom:1.4rem}.section-sticky .section-index{padding:.55rem 1rem}.section-sticky h2{padding:.6rem 1rem .75rem}.sim-2col{grid-template-columns:1fr}.timeline-item time{padding-left:0}.contact-card{padding:1.5rem 1.25rem}.contact-links button{word-break:break-all;max-width:100%}.hero-actions{flex-direction:column;width:100%}.hero-actions>*{width:100%;justify-content:center}.project-actions{flex-wrap:wrap;gap:.6rem}.project-actions>*{flex:1 1 calc(50% - 0.5rem);justify-content:center}.site-footer{flex-direction:column;align-items:flex-start;gap:1rem;padding-bottom:max(3rem,env(safe-area-inset-bottom,3rem))}.toast{width:calc(100% - 2rem);max-width:400px;text-align:center;justify-content:center;padding:.75rem 1rem;font-size:.86rem}}@media (max-width:480px){.site-header{padding:max(.35rem,env(safe-area-inset-top,.35rem)) .45rem .35rem}.nav-shell{width:100%;padding:.28rem .42rem}.brand strong{font-size:.82rem}.brand-mark{min-width:2.35rem;height:2.15rem;padding:0 .3rem;font-size:.74rem;border-radius:.6rem}.nav-actions{gap:.35rem}.palette-trigger{height:2.25rem;min-height:36px;padding:0 .5rem;gap:.28rem;border-radius:999px}.palette-trigger svg{width:.95rem;height:.95rem}.palette-trigger .active-palette-badge{display:inline-flex!important;gap:.18rem}.palette-trigger .active-dot-a,.palette-trigger .active-dot-b{width:.42rem;height:.42rem}.menu-toggle,.theme-toggle{width:2.25rem;height:2.25rem;min-width:36px;min-height:36px;padding:0;border-radius:50%}.section,main>section[id]{width:calc(100% - 1rem);padding:2.75rem 0;scroll-margin-top:calc(4.8rem + env(safe-area-inset-top, 0px))}.section-sticky{top:calc(3.6rem + env(safe-area-inset-top, 0px))}.hero{padding-top:calc(5.2rem + env(safe-area-inset-top, 0px));padding-bottom:2.5rem}.hero-copy{padding-top:.85rem;min-height:calc(100svh - 6.8rem);min-height:calc(100dvh - 6.8rem);min-width:0}.eyebrow{margin-bottom:2.4rem}h1{font-size:clamp(1.6rem,7.5vw,2.15rem);line-height:1.2}.role-rotator-slot{display:block;width:100%;min-width:0;max-width:100%;min-height:1.25em}#dynamic-role{min-width:0}.signal-grid{gap:.35rem;margin-top:auto;padding-top:2rem}.signal-grid div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:7rem;padding:1.25rem .5rem}.signal-grid dt{font-family:var(--font-display);font-size:1.8rem;font-weight:800;letter-spacing:-.025em;line-height:1.05}.signal-grid dd{font-family:var(--font-body);font-size:.76rem;font-weight:600;line-height:1.2}.hero-panel{margin-top:1.5rem}.profile-card{max-width:290px;margin:0 auto}.status-pill{left:.5rem;right:.5rem;bottom:.65rem;padding:.5rem .65rem;font-size:.72rem;gap:.4rem;white-space:normal;text-align:center;justify-content:center}.shot{height:165px;max-height:175px}.covercraft-tile{height:155px;max-height:165px}.project-content{padding:1.15rem 1rem}.project-content h3{font-size:1.12rem}.project-content p{font-size:.85rem}.about-card,.contact-card,.skills-card{padding:1.25rem 1rem}.project-actions>*{flex:1 1 100%;width:100%}.contact-links{flex-direction:column;width:100%}.contact-links>*{width:100%;justify-content:center}dialog.command-dialog,dialog.project-dialog,dialog.resume-dialog{width:calc(100% - 1rem);padding:1.25rem 1rem}}