@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-xs:.125rem;--radius-sm:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--max:1080px;--radius:20px;--radius-sm:14px;--radius-xs:10px;--pad:16px;--pad-lg:20px;--shadow-sm:0 2px 12px #00000014;--shadow-md:0 8px 32px #00000024;--shadow-xl:0 20px 60px #00000080;--shadow-inset:inset 0 1px 0 #ffffff12;--accent:#7c5cff;--accentHover:#6a4cff;--accentSubtle:#7c5cff1f;--focus:#7c5cff80;--danger:#ff5a6a;--success:#2bd576;--font:"DM Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-display:"Syne", "DM Sans", system-ui, sans-serif}:root[data-theme=dark]{--bg:#0b0f14;--bgAlt:#0e1319;--panel:#ffffff0e;--panel2:#ffffff09;--panelHover:#ffffff14;--text:#ffffffeb;--muted:#ffffff8c;--subtle:#ffffff59;--border:#ffffff1a;--borderStrong:#ffffff2e;--glowA:#7c5cff2e;--glowB:#4cc4ff1f;--glass:#0b0f14b8;--glassBorder:#ffffff14;--modalSurface:#0d1117;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f5f9;--bgAlt:#eef0f6;--panel:#ffffffe6;--panel2:#ffffffbf;--panelHover:#fff;--text:#10131ceb;--muted:#10131c8c;--subtle:#10131c59;--border:#10131c1a;--borderStrong:#10131c2e;--glowA:#7c5cff1a;--glowB:#4cc4ff12;--glass:#f4f5f9d1;--glassBorder:#00000012;--modalSurface:#f8f9fc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth;background:var(--bg);transition:background-color .3s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;transition:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gradientFlow{0%,to{background-position:0%}50%{background-position:100%}}@keyframes orbDrift1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(60px,-40px)scale(1.05)}66%{transform:translate(-40px,30px)scale(.96)}}@keyframes orbDrift2{0%,to{transform:translate(0)scale(1)}40%{transform:translate(-70px,50px)scale(1.07)}70%{transform:translate(55px,-35px)scale(.94)}}@keyframes menuOpen{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardRevealAnim{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skipLink{z-index:9999;background:var(--accent);color:#fff;border-radius:var(--radius-xs);padding:10px 18px;font-size:.875rem;font-weight:600;text-decoration:none;transition:top .2s;position:fixed;top:-100px;left:16px}.skipLink:focus{top:16px}.appShell{flex-direction:column;min-height:100dvh;display:flex;position:relative}.bgOrbs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bgOrb{filter:blur(80px);opacity:.55;border-radius:50%;position:absolute}.bgOrb1{background:var(--glowA);width:520px;height:520px;animation:22s ease-in-out infinite orbDrift1;top:-120px;right:-80px}.bgOrb2{background:var(--glowB);width:420px;height:420px;animation:28s ease-in-out infinite orbDrift2;bottom:80px;left:-100px}.topBar{z-index:100;padding:0 var(--pad-lg);border-bottom:1px solid #0000;align-items:center;height:60px;transition:background .25s,box-shadow .25s,border-color .25s;display:flex;position:sticky;top:0}.is-scrolled .topBar{background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.6);border-bottom-color:var(--glassBorder);box-shadow:0 1px 20px #00000014}.topBarInner{max-width:var(--max);align-items:center;gap:16px;width:100%;margin:0 auto;display:flex}.topBarLeft{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.brandGroup{align-items:center;gap:10px;min-width:0;display:flex}.brandAvatarBtn{cursor:pointer;background:var(--panel);border:none;border-radius:50%;outline:none;flex-shrink:0;width:34px;height:34px;padding:0;transition:opacity .2s,transform .2s,box-shadow .2s;overflow:hidden}.brandAvatarBtn:focus-visible{box-shadow:0 0 0 3px var(--focus)}.brandAvatarBtn:not([disabled]):hover{opacity:.88;transform:scale(1.05)}.brandAvatar{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.brandMark{background:linear-gradient(135deg, var(--accent), var(--glowB));border-radius:50%;width:100%;height:100%;display:block}.brandName{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;text-decoration:none;transition:color .2s;overflow:hidden}.brandName:hover{color:var(--accent)}.topNav{align-items:center;gap:4px;display:flex}.topNavLink{color:var(--muted);border-radius:var(--radius-xs);white-space:nowrap;padding:6px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.topNavLink:hover{color:var(--text);background:var(--panel)}.topBarActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.iconBtn{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--muted);cursor:pointer;outline:none;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s;display:flex}.iconBtn:hover{background:var(--panelHover);color:var(--text);border-color:var(--borderStrong)}.iconBtn:active{transform:scale(.94)}.iconBtn:focus-visible{box-shadow:0 0 0 3px var(--focus);border-color:var(--accent)}.avatarOverlay{z-index:300;-webkit-backdrop-filter:blur(10px);background:#000000bf;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.avatarModal{max-width:min(400px,100vw - 48px);position:relative}.avatarModalImg{border-radius:var(--radius);width:100%;height:auto;box-shadow:var(--shadow-xl);display:block}.avatarClose{background:var(--panel);border:1px solid var(--border);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;outline:none;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:-14px;right:-14px}.avatarClose:hover{background:var(--panelHover)}.avatarClose:focus-visible{box-shadow:0 0 0 3px var(--focus)}.content{z-index:1;padding:0 var(--pad-lg) 80px;max-width:calc(var(--max) + 2 * var(--pad-lg));flex-direction:column;flex:1;gap:20px;width:100%;margin:0 auto;display:flex;position:relative}.section{width:100%}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm), var(--shadow-inset);position:relative;overflow:hidden}.sectionCard{padding:clamp(24px,4vw,40px)}.reveal{opacity:0;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.cardReveal{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards cardRevealAnim}.hero{margin-top:24px;position:relative;overflow:visible}.hero:before{content:"";background:linear-gradient(to bottom, transparent, var(--accent), transparent);opacity:.6;border-radius:2px;width:3px;position:absolute;top:32px;bottom:32px;left:0}.heroInner{grid-template-columns:1fr 280px;align-items:center;gap:40px;display:grid}.heroLeft{flex-direction:column;gap:14px;min-width:0;animation:.6s cubic-bezier(.16,1,.3,1) both fadeUp;display:flex}.heroKicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.9;align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.heroKicker:before{content:"";background:currentColor;width:20px;height:1px;display:inline-block}.heroTitle{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(2.4rem,5.5vw,3.8rem);font-weight:800;line-height:1.06}.heroSubtitle{font-family:var(--font-display);color:var(--muted);letter-spacing:-.01em;font-size:clamp(1rem,2vw,1.2rem);font-weight:500}.heroDesc{color:var(--muted);max-width:52ch;margin:0;font-size:.95rem;line-height:1.7}.heroActions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.heroRight{animation:.6s cubic-bezier(.16,1,.3,1) .15s both fadeUp}.statGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.statCard{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);padding:12px 14px;transition:background .2s,border-color .2s,transform .2s}.statCard:hover{background:var(--panelHover);border-color:var(--borderStrong);transform:translateY(-2px)}.statText{color:var(--text);letter-spacing:-.005em;font-size:.82rem;font-weight:600;line-height:1.3}.sectionTitle{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text);margin:0 0 20px;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:700;line-height:1.15;position:relative}.sectionSubtitle{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:24px 0 12px;font-size:.95rem;font-weight:600}.bodyText{color:var(--muted);max-width:64ch;margin:0;font-size:.95rem;line-height:1.75}.muted{color:var(--muted)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--accentSubtle);color:var(--accent);letter-spacing:-.005em;border:1px solid #7c5cff33;border-radius:100px;align-items:center;padding:5px 12px;font-size:.8rem;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.chip:hover{background:#7c5cff2e;border-color:#7c5cff4d}.pill{background:var(--panel2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:100px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.btnPrimary{border-radius:var(--radius-xs);background:var(--accent);color:#fff;font-size:.875rem;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;border:none;outline:none;align-items:center;gap:7px;padding:9px 20px;text-decoration:none;transition:background .2s,transform .15s,opacity .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #7c5cff4d}.btnPrimary:hover:not([disabled]){background:var(--accentHover);transform:translateY(-1px);box-shadow:0 6px 20px #7c5cff66}.btnPrimary:active:not([disabled]){transform:translateY(0)scale(.98)}.btnPrimary[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}.btnPrimary:focus-visible{box-shadow:0 0 0 3px var(--focus)}.btnGhost{border-radius:var(--radius-xs);background:var(--panel);color:var(--text);font-size:.875rem;font-weight:500;font-family:var(--font);border:1px solid var(--border);cursor:pointer;white-space:nowrap;letter-spacing:-.005em;outline:none;align-items:center;gap:7px;padding:8px 16px;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.btnGhost:hover:not([disabled]){background:var(--panelHover);border-color:var(--borderStrong);transform:translateY(-1px)}.btnGhost:active:not([disabled]){transform:translateY(0)scale(.98)}.btnGhost[disabled]{opacity:.45;cursor:not-allowed}.btnGhost:focus-visible{box-shadow:0 0 0 3px var(--focus);border-color:var(--accent)}.linkPill{background:var(--panel);color:var(--text);border:1px solid var(--border);white-space:nowrap;border-radius:100px;outline:none;align-items:center;gap:6px;padding:7px 14px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.linkPill:hover{background:var(--panelHover);border-color:var(--borderStrong);color:var(--text);transform:translateY(-1px)}.linkPill:focus-visible{box-shadow:0 0 0 3px var(--focus);border-color:var(--accent)}.sectionHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.sectionHead .sectionTitle{margin:0}.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.searchWrap{align-items:center;display:flex;position:relative}.searchWrap>svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.searchInput{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--panel);height:38px;color:var(--text);font-size:.875rem;font-family:var(--font);outline:none;width:200px;padding:0 14px 0 36px;transition:border-color .2s,background .2s,box-shadow .2s}.searchInput::placeholder{color:var(--subtle)}.searchInput:hover{border-color:var(--borderStrong);background:var(--panelHover)}.searchInput:focus{border-color:var(--accent);background:var(--panelHover);box-shadow:0 0 0 3px var(--focus)}.tagDrop{position:relative}.tagTrigger{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--panel);height:38px;color:var(--text);font-size:.875rem;font-family:var(--font);cursor:pointer;white-space:nowrap;outline:none;align-items:center;gap:8px;min-width:130px;padding:0 12px;font-weight:500;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}.tagTrigger:hover{background:var(--panelHover);border-color:var(--borderStrong)}.tagTrigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.tagTriggerText{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.tagMenu{z-index:60;background:var(--glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glassBorder);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow-md);animation:.18s cubic-bezier(.16,1,.3,1) both menuOpen;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.tagMenuSearch{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.tagMenuInput{color:var(--text);font-size:.875rem;font-family:var(--font);background:0 0;border:none;outline:none;flex:1}.tagMenuInput::placeholder{color:var(--subtle)}.tagMenuList{max-height:200px;padding:4px;overflow-y:auto}.tagMenuList::-webkit-scrollbar{width:4px}.tagMenuList::-webkit-scrollbar-track{background:0 0}.tagMenuList::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tagOption{border-radius:var(--radius-xs);width:100%;color:var(--muted);font-size:.875rem;font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;outline:none;padding:8px 10px;font-weight:400;transition:background .15s,color .15s}.tagOption:hover{background:var(--panel);color:var(--text)}.tagOption.active{background:var(--accentSubtle);color:var(--accent);font-weight:600}.tagOption:focus-visible{background:var(--panel);color:var(--text);box-shadow:inset 0 0 0 2px var(--focus)}.projectsGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.projectCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-sm), var(--shadow-inset);outline:none;flex-direction:column;gap:14px;padding:22px;transition:border-color .25s,box-shadow .25s,transform .2s,background .2s;display:flex;position:relative;overflow:hidden}.projectCard:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(70% 50% at 50% 0,#7c5cff14,#0000 70%);transition:opacity .35s;position:absolute;inset:0}.projectCard:hover:before,.projectCard:focus-visible:before{opacity:1}.projectCard:hover,.projectCard:focus-visible{box-shadow:var(--shadow-md), 0 0 0 1px #7c5cff26, var(--shadow-inset);background:var(--panelHover);border-color:#7c5cff59;transform:translateY(-2px)}.projectCard:focus-visible{box-shadow:0 0 0 3px var(--focus), var(--shadow-md)}.projectCardHeader{align-items:flex-start;gap:14px;display:flex}.projectIcon{border-radius:var(--radius-sm);background:var(--accentSubtle);width:40px;height:40px;color:var(--accent);border:1px solid #7c5cff26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.projectTitleRow{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:5px;display:flex}.projectTitle{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.projectKicker{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);opacity:.8;white-space:nowrap;font-size:.7rem;font-weight:600}.projectDesc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.6;display:-webkit-box;overflow:hidden}.projectTags{flex-wrap:wrap;flex:1;gap:6px;display:flex}.projectFooter{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.projectLinks{flex-wrap:wrap;gap:8px;display:flex}.viewCase{color:var(--accent);opacity:0;white-space:nowrap;align-items:center;gap:4px;font-size:.8rem;font-weight:600;transition:opacity .2s;display:flex}.projectCard:hover .viewCase,.projectCard:focus-visible .viewCase{opacity:1}.contactRow{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.contactFormWrap{margin-top:24px}.contactForm{flex-direction:column;gap:16px;display:flex}.formRow{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);letter-spacing:.02em;font-size:.82rem;font-weight:600}.field input,.field textarea{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--panel2);color:var(--text);font-size:.9rem;font-family:var(--font);resize:none;outline:none;padding:10px 14px;transition:border-color .2s,background .2s,box-shadow .2s}.field input:hover,.field textarea:hover{border-color:var(--borderStrong);background:var(--panel)}.field input:focus,.field textarea:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px var(--focus)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #ff5a6a33}.field input[disabled],.field textarea[disabled]{opacity:.5;cursor:not-allowed}.error{color:var(--danger);font-size:.8rem;font-weight:500}.hpWrap{visibility:hidden;position:absolute;left:-9999px;display:none!important}.formActions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.formStatus{font-size:.875rem;font-weight:500;transition:color .2s}.formStatus.success{color:var(--success)}.formStatus.error{color:var(--danger)}.formStatus.sending{color:var(--muted)}.modalOverlay{z-index:200;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modalBackdrop{-webkit-backdrop-filter:blur(8px);background:#0009;animation:.25s fadeIn;position:absolute;inset:0}.modalSheet{z-index:1;background:var(--modalSurface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:600px;max-height:90dvh;box-shadow:var(--shadow-xl);scrollbar-width:thin;scrollbar-color:var(--border) transparent;animation:.3s cubic-bezier(.16,1,.3,1) both modalIn;position:relative;overflow-y:auto}@media (min-width:640px){.modalOverlay{align-items:center;padding:24px}.modalSheet{border-radius:var(--radius)}}.modalSheetTop{border-bottom:1px solid var(--border);background:var(--modalSurface);z-index:2;padding:22px 24px 18px;position:sticky;top:0}.modalSheetTitleRow{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.modalMark{border-radius:var(--radius-sm);background:var(--accentSubtle);width:42px;height:42px;color:var(--accent);border:1px solid #7c5cff26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modalSheetHead{flex:1;min-width:0}.modalTitle{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;font-size:1.15rem;font-weight:700;line-height:1.3}.modalCaption{color:var(--muted);margin-top:4px;font-size:.875rem;line-height:1.55}.modalClose{background:var(--panel);border:1px solid var(--border);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.modalClose:hover{background:var(--panelHover);color:var(--text)}.modalClose:focus-visible{box-shadow:0 0 0 3px var(--focus)}.modalTags{flex-wrap:wrap;gap:6px;display:flex}.modalBody{flex-direction:column;gap:20px;padding:20px 24px 28px;display:flex}.modalSection{flex-direction:column;gap:10px;display:flex}.sectionLabel{letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);font-size:.75rem;font-weight:700}.linkPanel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);flex-direction:column;gap:1px;display:flex;overflow:hidden}.linkRow{background:var(--panel2);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.linkRow:hover{background:var(--panel)}.linkRowLeft{min-width:0;color:var(--muted);flex:1;align-items:center;gap:10px;display:flex}.linkRowText{min-width:0}.linkRowTitle{color:var(--text);font-size:.85rem;font-weight:600}.linkRowValue{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:.78rem;overflow:hidden}.linkRowActions{flex-shrink:0;gap:8px;display:flex}.bullets{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bullets li{color:var(--muted);padding-left:18px;font-size:.9rem;line-height:1.65;position:relative}.bullets li:before{content:"";background:var(--accent);opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.cvHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.cvTitle{align-items:baseline;gap:10px;display:flex}.cvTitle .sectionTitle{margin:0}.cvActions{flex-wrap:wrap;gap:10px;display:flex}.cvFrameWrap{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel2);overflow:hidden}.cvFrame{border:none;width:100%;height:min(80vh,820px);display:block}.cvHint{color:var(--muted);margin:12px 0 0;font-size:.82rem}.bottomNav{z-index:90;padding:6px 8px max(env(safe-area-inset-bottom), 8px);background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.6);border-top:1px solid var(--glassBorder);justify-content:center;gap:4px;display:none;position:fixed;bottom:0;left:0;right:0}.bottomNavItem{border-radius:var(--radius-sm);width:56px;height:48px;color:var(--muted);cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;justify-content:center;align-items:center;transition:color .2s,background .2s,transform .15s;display:flex}.bottomNavItem:hover{color:var(--text);background:var(--panel)}.bottomNavItem.active{color:var(--accent);background:var(--accentSubtle)}.bottomNavItem:active{transform:scale(.92)}.bottomNavItem:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--borderStrong)}:focus-visible{outline:none}@media (max-width:768px){.bottomNav{display:flex}.content{padding-bottom:90px}.topNav{display:none}.heroInner{grid-template-columns:1fr}.heroRight{display:none}.formRow{grid-template-columns:1fr}.sectionHead{flex-direction:column;align-items:flex-start}.filters{width:100%}.searchInput{flex:1;width:auto}.tagDrop,.tagTrigger{flex:1;min-width:0}.projectsGrid{grid-template-columns:1fr}.cvHeader{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.heroTitle{font-size:2.1rem}.sectionCard{padding:20px 18px}.modalSheet{max-height:95dvh}.modalBody,.modalSheetTop{padding-left:18px;padding-right:18px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
