/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-border-style:solid;--tw-leading:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--leading-snug:1.375;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--animate-eye-blink:eye-blink 3.2s infinite;--animate-bob:bob 2.4s ease-in-out infinite;--animate-fill:fill 1.8s ease-out forwards;--color-slate-200:oklch(92.9% .013 255.508);--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--radius-2xl:1rem}}@layer base{@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)}}}*,: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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.loader{z-index:60;justify-content:center;align-items:center;gap:calc(var(--spacing) * 5);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.7s;background:var(--ink);flex-direction:column;transition-duration:.7s;display:flex;position:fixed;inset:0}.loader[data-hide=true]{pointer-events:none;opacity:0}.loader-face{height:calc(var(--spacing) * 28);width:calc(var(--spacing) * 28);animation:var(--animate-bob)}.face-head{fill:#1a1a24;stroke:#0f8;stroke-width:3px}.face-hair{fill:#0f8}.face-eye{animation:var(--animate-eye-blink);fill:#fff;transform-box:fill-box;transform-origin:50%}.face-cheek{fill:#ff6b9d;opacity:.35}.face-smile{fill:none;stroke:#0f8;stroke-width:3px;stroke-linecap:round}.loader-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.loader-bar{height:calc(var(--spacing) * .5);width:calc(var(--spacing) * 40);background:var(--line);border-radius:.25rem;overflow:hidden}.loader-bar span{height:100%;animation:var(--animate-fill);background:#0f8;display:block}.typing{gap:var(--spacing);padding-block:calc(var(--spacing) * 3);display:flex}.typing span{height:calc(var(--spacing) * 1.5);width:calc(var(--spacing) * 1.5);background:var(--muted);border-radius:2147483647px;animation:1s infinite typing-dot}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.chat-note{padding-inline:calc(var(--spacing) * 4);padding-bottom:var(--spacing);--tw-leading:var(--leading-snug);font-size:10px;line-height:var(--leading-snug);color:var(--muted)}.fb{margin-top:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 2);display:flex}.fb button{border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:.25rem;font-size:11px}.fb button:hover{border-color:var(--accent);color:var(--accent)}.fb-thanks{margin-top:calc(var(--spacing) * 2);color:var(--muted);font-size:11px}.fb-why{margin-top:calc(var(--spacing) * 2);align-items:center;gap:calc(var(--spacing) * 2);display:flex}.fb-why input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);min-width:0;padding-inline:calc(var(--spacing) * 2);padding-block:var(--spacing);color:var(--color-white);--tw-outline-style:none;border-radius:.25rem;outline-style:none;flex:1;font-size:16px}.chat-fab{z-index:40;height:calc(var(--spacing) * 12);width:calc(var(--spacing) * 12);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:2147483647px;justify-content:center;align-items:center;display:flex;position:fixed}@media (hover:hover){.chat-fab:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.chat-fab{background:var(--accent);color:var(--ink);right:1rem;bottom:calc(.6rem + env(safe-area-inset-bottom))}.chat-window{z-index:40;border-radius:var(--radius-2xl);border-style:var(--tw-border-style);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-width:1px;border-color:var(--line);background:var(--surface);right:.75rem;bottom:calc(4.5rem + env(safe-area-inset-bottom));flex-direction:column;width:min(360px,100vw - 1.5rem);height:min(520px,70dvh);animation:.3s ease-out swap;display:flex;position:fixed;overflow:hidden}.chat-head{align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom-width:1px;border-color:var(--line);background:var(--ink);display:flex}@supports (color:color-mix(in lab, red, red)){.chat-head{background:color-mix(in srgb, var(--ink) 60%, transparent)}}.chat-avatar{height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);background:var(--accent);color:var(--ink);border-radius:2147483647px;justify-content:center;align-items:center;display:flex}.chat-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white)}.chat-status{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted)}.chat-body{gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 4);scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.msg{border-radius:var(--radius-xl);max-width:82%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.msg-in{border-bottom-left-radius:var(--radius-sm);color:var(--color-slate-200);background:var(--ink);align-self:flex-start}.msg-out{border-bottom-right-radius:var(--radius-sm);color:var(--color-white);background:var(--accent);align-self:flex-end}@supports (color:color-mix(in lab, red, red)){.msg-out{background:color-mix(in srgb, var(--accent) 24%, #0e0e16)}}.msg .link{margin-top:var(--spacing);display:block}.msg-time{margin-top:var(--spacing);text-align:right;color:var(--muted);font-size:10px;display:block}.chat-form{align-items:center;gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);padding:calc(var(--spacing) * 3);border-top-width:1px;border-color:var(--line);display:flex}.chat-input{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);color:var(--color-white);--tw-outline-style:none;border-width:1px;border-color:var(--line);background:var(--ink);border-radius:2147483647px;outline-style:none;flex:1;font-size:16px}.chat-input:focus{border-color:var(--accent)}.chat-send{height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:2147483647px;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover){.chat-send:hover{--tw-brightness:brightness(110%);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,)}}.chat-send{background:var(--accent);color:var(--ink)}@media (aspect-ratio>=13/10){.chat-fab{bottom:1.5rem}.chat-window{bottom:5.25rem;right:1rem}}}@layer utilities{@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.visible{visibility:visible}.fixed{position:fixed}.inset-0{inset:0}.z-0{z-index:0}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-12{--tw-translate-y:calc(var(--spacing) * 12);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-100{opacity:1}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color:#f1f4fb;font-synthesis:none;text-rendering:optimizelegibility;cursor:none;-webkit-font-smoothing:antialiased;--bg:#080b12;--panel:#101522c7;--panel-solid:#101522;--border:#97a9d324;--text:#f1f4fb;--muted:#98a3ba;--muted-2:#69758d;--blue:#6a8cff;--purple:#9b75ff;--accent:var(--blue);--line:var(--border);--surface:var(--panel-solid);--ink:var(--bg);--font-display:"Space Grotesk", sans-serif;background:#080b12;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);min-width:320px;margin:0}a{color:inherit;text-decoration:none}@media (pointer:fine){*{cursor:none}}.cursor-dot,.cursor-ring{pointer-events:none;z-index:50;border-radius:2147483647px;display:none;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}@media (pointer:fine){.cursor-dot,.cursor-ring{display:block}}:focus-visible{outline:2px solid var(--accent,#0f8);outline-offset:3px}.cursor-dot{height:calc(var(--spacing) * 1.5);width:calc(var(--spacing) * 1.5);background:var(--accent)}.cursor-ring{height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);border-style:var(--tw-border-style);transition-property:width,height,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;border-color:var(--accent);transition-duration:.2s}@supports (color:color-mix(in lab, red, red)){.cursor-ring[data-hover=true]{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.cursor-ring[data-hover=true]{height:calc(var(--spacing) * 14);width:calc(var(--spacing) * 14);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.cursor-ring[data-hover=true]{background:color-mix(in srgb, var(--accent) 12%, transparent)}}@keyframes typing-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@keyframes eye-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fill{0%{width:0}to{width:100%}}.liquid-starfield{z-index:0;background:#02040b;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.liquid-starfield canvas{width:100%;height:100%;display:block}.projects-carousel{position:relative}.projects-carousel .projects-grid{scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;grid-template-columns:none;grid-auto-columns:calc(33.3333% - 10.6667px);grid-auto-flow:column;gap:16px;padding:4px 2px 20px;display:grid;overflow:auto hidden}.projects-carousel .projects-grid::-webkit-scrollbar{height:6px}.projects-carousel .projects-grid::-webkit-scrollbar-track{background:#97a9d314;border-radius:99px}.projects-carousel .projects-grid::-webkit-scrollbar-thumb{background:#8497ffa6;border-radius:99px}.projects-carousel .project-card{scroll-snap-align:start;flex-direction:column;min-width:0;height:auto;display:flex}.projects-carousel .project-art img{z-index:1;object-fit:cover;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.projects-carousel .project-number{z-index:2}.project-collaboration-badge{z-index:2;color:#d8f4ff;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08111fc7;border:1px solid #72d9ff57;border-radius:999px;align-items:center;padding:5px 9px;font-size:9px;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:12px;left:14px}.project-collaboration-badge.collaboration-group,.project-collaboration-badge.collaboration-pair{color:#e7dcff;border-color:#bca0ff6b}.projects-carousel .project-content{flex-direction:column;flex:1;display:flex}.projects-carousel .project-content p{min-height:0}.projects-scroll-hint{color:var(--muted-2);justify-content:center;align-items:center;gap:8px;margin:2px 0 0;font-size:11px;display:flex}.projects-scroll-hint kbd{border:1px solid var(--border);color:var(--text);font:inherit;background:#8094d214;border-radius:5px;padding:3px 6px;font-size:10px}.projects-scroll-hint svg{color:#8e9bff}.project-details{border-top:1px solid var(--border);gap:13px;margin-top:19px;padding-top:15px;display:grid}.project-detail-label{color:#8e9bff;letter-spacing:1.25px;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.project-detail-value,.project-contributions{color:var(--muted);font-size:11px;line-height:1.7}.project-contributions{margin:0;padding-left:16px}.project-contributions li+li{margin-top:3px}.projects-controls{justify-content:flex-end;align-items:center;gap:16px;margin-top:12px;margin-bottom:4px;display:flex}.projects-hint{color:var(--muted-2);font-size:10px}.projects-arrows{gap:8px;display:flex}.projects-arrow{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:#111726b3;border-radius:11px;place-items:center;transition:border-color .2s,transform .2s,opacity .2s;display:grid}.projects-arrow:hover:not(:disabled){border-color:#849bff8c;transform:translateY(-2px)}.projects-arrow:disabled{opacity:.35;cursor:not-allowed}.light-mode .projects-arrow{background:#fffc}@media (width<=800px){.projects-carousel .projects-grid{grid-auto-columns:calc(50% - 8px);gap:16px}}@media (width<=600px){.projects-carousel .projects-grid{grid-auto-columns:100%;gap:14px}.projects-carousel .project-art{height:150px}.projects-carousel .project-content{padding:18px}.projects-hint{max-width:200px}}@media (prefers-reduced-motion:reduce){.projects-carousel .projects-grid{scroll-behavior:auto}.projects-carousel .project-card,.projects-arrow{transition:none}}.skill-cube-interactive{isolation:isolate;-webkit-tap-highlight-color:transparent}.skill-cube-interactive canvas{outline:none}.skills-section{--skill-accent:#72d9ff;color:#edf5ff;background:0 0;border-top:1px solid #87b9ff1f;position:relative}.skills-section.section-wrap{width:min(1000px,100% - 48px);margin-inline:auto}.skills-heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:0 0 28px;display:flex}.skills-eyebrow{color:var(--skill-accent);letter-spacing:.22em;font-size:11px;font-weight:700}.skills-heading h2{letter-spacing:-.055em;margin:12px 0;font-size:clamp(36px,5vw,60px)}.skills-heading h2 span{color:var(--skill-accent)}.skills-subtitle{color:#94a5bf;font-size:14px}.skills-controls{flex-shrink:0;gap:10px;display:flex}.skills-controls button{color:#dcecff;background:#121e34b3;border:1px solid #263a56;border-radius:50%;width:44px;height:44px;font-size:21px;transition:background .2s,border-color .2s,transform .2s}.skills-controls button:hover{border-color:var(--skill-accent);background:#163451;transform:translateY(-2px)}.skills-track{scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;overscroll-behavior-y:contain;-ms-overflow-style:none;gap:20px;padding:12px 0 28px;display:flex;overflow:auto hidden}.skills-track::-webkit-scrollbar{display:none}.skills-category-card{scroll-snap-align:start;background:linear-gradient(145deg,#111d32f0,#070d1bf7);border:1px solid #74a6da2e;border-radius:22px;flex:0 0 clamp(280px,31vw,320px);min-width:0;padding:22px 20px 24px;transition:border-color .25s,box-shadow .25s,transform .25s}.skills-category-card:hover{border-color:#72d9ff85;transform:translateY(-4px);box-shadow:0 16px 50px #00000040,0 0 28px #2d9bff14}.skill-card-heading{justify-content:space-between;align-items:center;display:flex}.skill-number{color:var(--skill-accent);letter-spacing:.12em;font-size:12px}.skill-category-label{color:#7186a5;letter-spacing:.16em;font-size:10px}.skills-category-card h3{color:#edf5ff;letter-spacing:-.035em;margin:20px 0 6px;font-size:clamp(22px,2.3vw,27px);line-height:1.25}.skill-description{color:#92a4bf;margin:0;font-size:13px}.skill-cube-interactive{border-radius:12px;width:100%;height:300px;margin:20px 0 0;position:relative}.skill-cube-interactive canvas{width:100%;height:100%;display:block}.cube-hint{color:#8195b3;text-align:center;margin:-3px 0 18px;font-size:11px}.cube-hint span{color:var(--skill-accent);vertical-align:-1px;font-size:16px}.skill-tags{border-top:1px solid #87aadc1f;flex-wrap:wrap;gap:7px;padding-top:15px;display:flex}.skill-tags span{color:#c6d7ed;background:#1b2b44a6;border:1px solid #7ba1cd24;border-radius:8px;padding:7px 10px;font-size:11px;transition:color .18s,border-color .18s,background .18s}.skill-tags span:hover{color:#a8eaff;background:#23517066;border-color:#72d9ff73}.skills-footer{color:#7285a2;letter-spacing:.1em;justify-content:space-between;gap:16px;padding:18px 0 0;font-size:10px;display:flex}@media (width<=600px){.skills-section.section-wrap{width:min(100% - 36px,480px)}.skills-section{padding-top:68px;padding-bottom:68px}.skills-heading{align-items:flex-start;gap:12px;padding-bottom:24px}.skills-heading h2{font-size:clamp(32px,9vw,42px)}.skills-controls{gap:6px}.skills-controls button{width:36px;height:36px;font-size:18px}.skills-track{gap:14px;padding-bottom:24px}.skills-category-card{flex-basis:min(85%,340px);padding:20px 16px}.skill-cube-interactive{height:245px}.skills-footer{font-size:9px}}@media (prefers-reduced-motion:reduce){.skills-track{scroll-behavior:auto}.skills-category-card,.skills-controls button,.skill-tags span{transition:none}}.reveal{opacity:0;will-change:opacity, transform;transition:opacity 1.5s,transform 1.5s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{transform:translate(-28px)}.reveal-right{transform:translate(28px)}.reveal-scale{transform:translateY(20px)scale(.96)}.reveal-left.is-visible,.reveal-right.is-visible{transform:translate(0)}.reveal-scale.is-visible{transform:translateY(0)scale(1)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}@media (prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;will-change:auto;transition:none;transform:none}}button{font:inherit}.loader{z-index:9999;background:var(--bg);color:var(--text);flex-direction:column;justify-content:center;align-items:center;transition:opacity .7s,visibility .7s;display:flex;position:fixed;inset:0}.loader[data-hide=true]{opacity:0;visibility:hidden;pointer-events:none}.loader-face{width:120px;height:120px;margin-bottom:20px}.face-head{fill:#f1f4fb}.face-hair{fill:#6a8cff}.face-eye{fill:#080b12}.face-cheek{fill:#ffb6c1}.face-smile{fill:none;stroke:#080b12;stroke-width:3px;stroke-linecap:round}.loader-text{font-family:var(--font-display);letter-spacing:1px;text-transform:lowercase;align-items:center;gap:4px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.caret{background:var(--blue);width:6px;height:12px;animation:.8s step-end infinite blink;display:inline-block}.loader-bar{background:#97a9d31a;border-radius:2px;width:160px;height:3px;position:relative;overflow:hidden}.loader-bar span{background:var(--blue);width:0%;transition:width .3s;position:absolute;inset:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.app{background:radial-gradient(ellipse at 75% 10%, #283a7f24, transparent 36%), var(--bg);min-height:100vh;color:var(--text);transition:background .3s,color .3s;position:relative;overflow:hidden}.starfield{pointer-events:none;z-index:0;background:radial-gradient(at 80% 22%,#2e4ebe21,#0000 36%),radial-gradient(at 10% 45%,#3c27871a,#0000 34%);height:1000px;position:absolute;inset:0 0 auto;overflow:hidden}.star{opacity:.45;background:#a9c8ff;border-radius:50%;animation:4s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 7px #7d9eff8c}.cursor-glow{background:radial-gradient(circle,#435bd214,#0000 68%);border-radius:50%;width:330px;height:330px;transition:left .16s ease-out,top .16s ease-out;position:absolute;transform:translate(-50%,-50%)}@keyframes twinkle{0%{opacity:.16;transform:scale(.7)}to{opacity:.8;transform:scale(1.2)}}.site-header,main,.footer{z-index:1;position:relative}.site-header{border-bottom:1px solid #97a9d314;justify-content:space-between;align-items:center;width:min(1120px,100% - 48px);height:82px;margin:auto;display:flex}.brand{font:700 27px var(--font-display);letter-spacing:-2px;color:var(--text)}.brand span{color:var(--blue)}.nav-links{align-items:center;gap:34px;display:flex}.nav-links a{color:var(--muted);font-size:12px;transition:color .2s}.nav-links a:hover,.social-row a:hover{color:#91a8ff}.icon-button{border:1px solid var(--border);width:38px;height:38px;color:var(--text);background:#111726bf;border-radius:12px;place-items:center;transition:border-color .2s,background .2s;display:grid}.mobile-menu{display:none}.section-wrap{width:min(1000px,100% - 48px);margin-inline:auto}.hero{grid-template-columns:1.05fr .95fr;align-items:center;min-height:620px;margin-top:30px;margin-bottom:40px;padding-top:0;display:grid;position:relative}.hero-copy{z-index:2;padding-top:5px;position:relative}.eyebrow,.section-kicker{color:#9cabc9;letter-spacing:2px;font-size:10px;font-weight:700}.status-dot,.learning-pulse{background:#7be2b2;border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block;box-shadow:0 0 12px #7be2b2}h1{font:700 clamp(42px, 5.2vw, 67px)/1.06 var(--font-display);letter-spacing:-3px;margin:25px 0 20px}.gradient-text{color:#0000;background:linear-gradient(100deg,#7cb6ff 5%,#7880ff 48%,#b28aff 95%);-webkit-background-clip:text;background-clip:text}.hero h2{font:500 20px/1.55 var(--font-display);color:#dbe3f7;margin:0 0 18px}.muted{color:#75819c}.mobile-break{display:none}.hero-description{max-width:460px;color:var(--muted);font-size:14px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:29px;display:flex}.button{border-radius:10px;justify-content:center;align-items:center;gap:11px;padding:13px 18px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:linear-gradient(105deg,#4f8ff9,#7559f7);box-shadow:0 8px 28px #5168f72e}.button-primary:hover{box-shadow:0 10px 32px #5168f752}.button-ghost{border:1px solid var(--border);color:#dce4f6;background:#0e121d80}.button-ghost:hover{border-color:#849bff80}.social-row{color:#9ba9c4;align-items:center;gap:18px;margin-top:35px;display:flex}.social-row a{transition:color .2s,transform .2s;display:flex}.social-row a:hover{transform:translateY(-2px)}.social-divider{background:var(--border);width:1px;height:17px}.social-note{color:var(--muted-2);font-size:11px}.hero-visual{z-index:5;place-items:center;min-height:410px;display:grid;position:relative}.hero-orb{color:#b6c5ff;background:radial-gradient(circle at 35% 25%,#779dff3d,#4745b31f 48%,#090c181f 72%);border:1px solid #7b91ff66;border-radius:50%;place-items:center;width:240px;height:240px;animation:6s ease-in-out infinite float;display:grid;box-shadow:0 0 75px #4f59f533,inset 0 0 45px #5964ee24}.hero-orb:before{content:"";border:1px solid #7185ff29;border-radius:50%;width:280px;height:280px;position:absolute}.hero-image{height:calc(var(--spacing) * 150);object-fit:contain;width:100%}.orbit{border:1px solid #6c85ff29;border-radius:50%;position:absolute;transform:rotate(-25deg)}.orbit-one{width:360px;height:135px}.orbit-two{border-color:#976fff2b;width:320px;height:185px;transform:rotate(48deg)}@keyframes swap{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.floating-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d121fe0;border-radius:12px;align-items:center;gap:10px;padding:12px 15px;display:flex;position:absolute;box-shadow:0 15px 40px #0000002e}.floating-card-top{top:72px;right:0}.floating-card-bottom{bottom:68px;left:0}.liquid-starfield{z-index:-1}.mini-icon{color:#80c2ff;background:#5299ff21;border-radius:9px;place-items:center;width:29px;height:29px;display:grid}.mini-icon.purple{color:#b49aff;background:#9064ff24}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:11px}.floating-card small{color:var(--muted);margin-top:3px;font-size:9px}.visual-caption{color:#697693;letter-spacing:2px;z-index:10;background:linear-gradient(90deg,#090c18d9,#0000 60%);align-items:center;gap:9px;padding-right:30px;font-size:9px;display:flex;position:relative;bottom:17px}.caption-line{background:#7f8dff;width:25px;height:1px}.scroll-cue{color:#68738c;letter-spacing:1.7px;align-items:center;gap:10px;font-size:9px;display:flex;position:absolute;bottom:26px;left:0}.scroll-cue span{border:1px solid #596681;border-radius:10px;width:16px;height:26px;position:relative}.scroll-cue span:after{content:"";background:#93a6ff;border-radius:2px;width:2px;height:5px;position:absolute;top:5px;left:6px}.section{border-top:1px solid #97a9d31a;margin-top:100px;margin-bottom:100px;padding-top:20px;padding-bottom:20px}.section-heading{margin-bottom:34px}.section-kicker{margin-bottom:13px;display:block}.section-kicker span{color:#8e9bff;margin-right:8px}.section-heading h2,.contact-copy h2{font:600 clamp(27px, 3.4vw, 39px)/1.2 var(--font-display);letter-spacing:-1.5px;margin:0}.section-description{color:var(--muted);margin:11px 0 0;font-size:13px;line-height:1.8}.about-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:90px;display:grid}.large-copy{font:500 23px/1.55 var(--font-display);color:#dfe6f6;letter-spacing:-.5px;margin:0 0 18px}.accent{color:#91a8ff}.body-copy{color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.95}.text-link{color:#a8b5ff;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.text-link:hover{color:#fff}.principles{gap:24px;display:grid}.principle{align-items:flex-start;gap:14px;display:flex}.principle-icon{border:1px solid var(--border);color:#a8b4ff;background:#6375d214;border-radius:13px;flex:0 0 42px;place-items:center;height:42px;display:grid}.principle h3{font:600 14px var(--font-display);margin:1px 0 6px}.principle p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.skills-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.skill-card{border:1px solid var(--border);background:linear-gradient(145deg,#141b2bcc,#0c101ba6);border-radius:15px;min-height:145px;padding:23px 20px 20px;transition:transform .2s,border-color .2s}.skill-card:hover{border-color:#7a91ff6b;transform:translateY(-4px)}.skill-symbol{font:700 28px var(--font-display);height:38px;margin-bottom:14px}.skill-card h3{font:600 14px var(--font-display);margin:0 0 6px}.skill-card p{color:var(--muted);margin:0;font-size:11px}.learning-strip{border:1px solid var(--border);color:var(--muted);background:#0f142080;border-radius:11px;align-items:center;gap:8px;margin-top:17px;padding:15px 17px;font-size:11px;display:flex}.learning-strip strong{color:#dfe5f5}.learning-pulse{flex:0 0 6px;width:6px;height:6px;margin:0}.heading-with-link{justify-content:space-between;align-items:end;gap:20px;display:flex}.all-projects{white-space:nowrap;margin-bottom:5px}.projects-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;display:grid}.project-card{border:1px solid var(--border);background:#0f1420b8;border-radius:15px;flex-direction:column;height:100%;transition:transform .25s,border-color .25s;display:flex;overflow:hidden}.project-card:hover{border-color:#7f91ff66;transform:translateY(-5px)}.project-art{border-bottom:1px solid var(--border);place-items:center;height:170px;display:grid;position:relative;overflow:hidden}.project-art.tourism{background:radial-gradient(at 70% 40%,#18b7b742,#0000 44%),linear-gradient(135deg,#0d333c,#10223a 65%,#172344)}.project-art.medical{background:radial-gradient(at 60%,#517bff4d,#0000 45%),linear-gradient(135deg,#111b32,#17233b 60%,#0d1320)}.project-art.portfolio{background:radial-gradient(at 45% 45%,#8f64ff42,#0000 45%),linear-gradient(135deg,#201b3b,#111a31 70%,#0d1320)}.project-number{color:#e2e9ffa6;letter-spacing:1.4px;font-size:9px;position:absolute;top:15px;left:16px}.project-art-icon{z-index:1;font:600 48px var(--font-display);color:#dfe9ffe0;text-shadow:0 0 30px #708eff59;position:relative}.art-grid{opacity:.18;background-image:linear-gradient(#a7b9ff40 1px,#0000 1px),linear-gradient(90deg,#a7b9ff40 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.project-open{z-index:2;color:#dce5ff;background:#080b124d;border:1px solid #ffffff26;border-radius:9px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:13px}.project-content{flex-direction:column;flex:1;padding:20px;display:flex}.project-category{color:#8e9bff;letter-spacing:1.4px;font-size:9px;font-weight:700}.project-content h3{font:600 17px/1.35 var(--font-display);letter-spacing:-.3px;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:10px 0;display:-webkit-box;overflow:hidden}.project-content .project-desc{-webkit-line-clamp:3;line-clamp:3;min-height:5.4em;color:var(--muted);-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.8;display:-webkit-box;overflow:hidden}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{border:1px solid var(--border);color:#aeb9d1;background:#8094d20f;border-radius:6px;padding:5px 8px;font-size:9px}.project-note{color:var(--muted-2);margin:18px 0 0;font-size:10px;line-height:1.7}.project-more-slot{min-height:1.75rem;margin-top:.5rem}.project-more{color:var(--accent);font:inherit;background:0 0;border:0;align-items:center;gap:.25rem;padding:0;font-size:.875rem;display:inline-flex}.project-more:hover{text-decoration:underline}.project-card .tag-row{max-height:4.5rem;margin-top:auto;padding-top:.75rem;overflow:hidden}.modal-backdrop{z-index:45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b12bf;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--panel-solid);border-radius:1rem;width:min(560px,100%);max-height:85dvh;padding:1.75rem;position:relative;overflow-y:auto}.modal h3{font-family:var(--font-display);margin:.25rem 0 .75rem;font-size:1.5rem}.modal p{color:var(--muted);margin-bottom:1rem;line-height:1.7}.modal .tag-row{margin-bottom:1rem}.modal-close{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted);background:0 0;border-radius:999px;place-items:center;display:grid;position:absolute;top:.75rem;right:.75rem}.modal-close:hover{color:var(--text);border-color:var(--accent)}.timeline{grid-template-columns:repeat(3,1fr);gap:30px;padding-top:10px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(90deg,#667fff,#97a9d31f);height:1px;position:absolute;top:17px;left:8px;right:8px}.timeline-item{padding-top:34px;position:relative}.timeline-dot{background:#8793ff;border:4px solid #11162a;border-radius:50%;width:15px;height:15px;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #8793ff,0 0 18px #7482ff4d}.timeline-date{color:#8e9bff;letter-spacing:1.5px;font-size:9px;font-weight:700}.timeline-item h3{font:600 16px/1.4 var(--font-display);margin:12px 0 8px}.timeline-item p{color:var(--muted);max-width:270px;margin:0;font-size:12px;line-height:1.85}.contact-section{background:radial-gradient(at 15%,#3749a61f,#0000 45%);border-top:1px solid #97a9d31a;padding:82px 0}.contact-grid{grid-template-columns:1fr .8fr;align-items:center;gap:100px;display:grid}.contact-copy h2{font-size:clamp(36px,4.5vw,54px)}.contact-copy>p{max-width:410px;color:var(--muted);margin:18px 0 24px;font-size:13px;line-height:1.9}.contact-email{color:#b3c0ff;align-items:center;gap:10px;font-size:12px;display:inline-flex}.contact-panel{border:1px solid var(--border);background:#101522b8;border-radius:16px;padding:25px}.contact-detail{color:#9baaff;align-items:center;gap:13px;padding:12px 0;display:flex}.contact-detail+.contact-detail{border-top:1px solid #97a9d314}.contact-detail strong,.contact-detail span{display:block}.contact-detail strong{color:#e4eafa;margin-bottom:4px;font-size:12px}.contact-detail span{color:var(--muted);font-size:11px}.contact-button{width:100%;margin-top:18px}.footer{border-top:1px solid #97a9d31a;justify-content:space-between;align-items:center;gap:20px;min-height:92px;display:flex}.footer .brand{font-size:23px}.footer p{color:var(--muted-2);text-align:center;font-size:10px}.footer p span{margin-left:8px}.back-top{color:#a9b5d1;font-size:10px}.light-mode{--bg:#f4f6fc;--panel:#fffc;--panel-solid:#fff;--border:#34457029;--text:#171d30;--muted:#5e6980;--muted-2:#7a8498;background:radial-gradient(ellipse at 75% 10%, #7489ff24, transparent 36%), var(--bg)}.light-mode .starfield{opacity:.45}.light-mode .nav-links a,.light-mode .hero h2,.light-mode .large-copy,.light-mode .principle h3,.light-mode .skill-card h3,.light-mode .project-content h3,.light-mode .timeline-item h3,.light-mode .contact-detail strong{color:var(--text)}.light-mode .skill-card,.light-mode .project-card,.light-mode .contact-panel,.light-mode .floating-card{background:#ffffffd1}.light-mode .button-ghost{color:var(--text);background:#ffffffa6}.light-mode .learning-strip strong{color:var(--text)}@media (width<=800px){.site-header{height:72px}.nav-links{gap:18px}.nav-links a{font-size:11px}.hero{grid-template-columns:1fr .8fr;min-height:570px}.hero-orb{width:190px;height:190px}.hero-orb:before{width:225px;height:225px}.orbit-one{width:280px}.orbit-two{width:260px}.floating-card-top{right:-4px}.floating-card-bottom{left:-10px}.about-grid{gap:40px}.projects-grid{gap:11px}.project-art{height:135px}.project-content{padding:15px}.project-content h3{font-size:15px}.contact-grid{gap:45px}}@media (width<=600px){.section-wrap,.site-header{width:min(100% - 36px,480px)}.site-header{position:relative}.mobile-menu{margin-left:auto;margin-right:10px;display:grid}.theme-toggle{width:36px;height:36px}.nav-links{border:1px solid var(--border);z-index:10;background:#0b0f19f7;border-radius:14px;flex-direction:column;align-items:stretch;gap:0;padding:12px;display:none;position:absolute;top:63px;left:0;right:0;box-shadow:0 20px 40px #0000004d}.nav-links.open{display:flex}.nav-links a{border-radius:8px;padding:13px 12px;font-size:13px}.nav-links a:hover{background:#7d91ff1a}.hero{flex-direction:column;align-items:stretch;min-height:0;padding-top:66px;padding-bottom:70px;display:flex}h1{letter-spacing:-2.6px;margin-top:20px;font-size:clamp(43px,12vw,60px)}.hero h2{font-size:18px}.mobile-break{display:block}.hero-description{font-size:13px}.hero-visual{min-height:300px;margin-top:10px}.hero-orb{width:170px;height:170px}.hero-orb:before{width:205px;height:205px}.hero-orb svg{width:70px}.orbit-one{width:270px;height:105px}.orbit-two{width:240px;height:145px}.floating-card-top{top:32px;right:4px}.floating-card-bottom{bottom:39px;left:2px}.visual-caption{bottom:0}.scroll-cue{bottom:20px}.section{padding-top:68px;padding-bottom:68px}.section-heading{margin-bottom:26px}.about-grid{grid-template-columns:1fr;gap:35px}.large-copy{font-size:21px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:10px}.skill-card{min-height:130px;padding:18px}.learning-strip{align-items:flex-start;line-height:1.7}.heading-with-link{align-items:flex-start}.heading-with-link .all-projects{display:none}.projects-grid{grid-template-columns:1fr;gap:15px}.project-art{height:165px}.project-content{padding:20px}.project-content p{min-height:0}.timeline{grid-template-columns:1fr;gap:28px;padding-left:4px}.timeline:before{background:linear-gradient(#667fff,#97a9d31f);width:1px;height:auto;inset:8px auto 8px 11px}.timeline-item{padding:0 0 0 35px}.timeline-dot{top:2px;left:0}.timeline-item p{max-width:none}.contact-section{padding:66px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-panel{padding:20px}.footer{flex-wrap:wrap;justify-content:space-between;min-height:120px;padding-top:20px;padding-bottom:20px}.footer p{text-align:left;flex-basis:100%;order:3;line-height:1.7}.footer p span{margin-left:0;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cursor-glow{display:none}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-font-weight{syntax:"*";inherits:false}
