:root{--bg:#07111f;--bg-elevated:#09182ab8;--panel:#0c1f35c7;--panel-strong:#0f2540f5;--line:#a6cdff29;--text:#eff5ff;--muted:#9eb2cb;--accent:#f4b860;--accent-2:#77e1ff;--accent-3:#ff8a6b;--accent-4:#8ae8bf;--accent-5:#ff6ec7;--shadow:0 24px 80px #00000052;--radius-lg:32px;--radius-md:20px;--radius-sm:999px;--shell:min(1120px, calc(100% - 2rem));--font-mono:"Space Mono", "SFMono-Regular", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#77e1ff2e,#0000 30%),radial-gradient(circle at 80% 20%,#f4b86029,#0000 24%),linear-gradient(#08111d 0%,#07111f 45%,#040a13 100%);margin:0;font-family:DM Sans,Segoe UI,sans-serif;line-height:1.65}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;mask-image:linear-gradient(#00000080,#0000 85%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.card-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:2rem;padding-top:1.5rem;font-size:.82rem}.card-footer p{margin:0}.footer-icon{vertical-align:-.15rem;width:.95rem;height:.95rem;margin:0 .05rem}.shell{width:var(--shell);margin:0 auto}.section{padding:7rem 0}.contact-section{padding-bottom:0}.anchor-target{visibility:hidden;display:block;position:relative;top:-6rem}.topbar{z-index:20;padding-top:1rem;position:sticky;top:0}.topbar-inner{border:1px solid var(--line);border-radius:var(--radius-sm);backdrop-filter:blur(20px);box-shadow:var(--shadow);background:#050e1ab8;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.topbar nav a{letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;position:relative}.brand{letter-spacing:.08em;text-transform:lowercase;text-shadow:0 0 16px color-mix(in srgb, var(--accent-2) 45%, transparent);align-items:baseline;font-size:1.1rem;display:inline-flex;position:relative}.topbar nav{flex-wrap:wrap;justify-content:flex-end;gap:1.25rem;display:flex}.topbar nav a,.project-links a{color:var(--muted);transition:color .18s,transform .18s}.topbar nav a:hover,.project-links a:hover,.project-links a:focus-visible{color:var(--text);transform:translateY(-1px)}.lang-switch{align-items:center;gap:.4rem;display:flex}.lang-switch a[aria-current=page]{color:var(--text);font-weight:700}.nav-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:2.5rem;height:2.5rem;padding:0;display:none}.nav-toggle-bar{background:var(--text);border-radius:2px;width:1.1rem;height:2px;transition:transform .18s,opacity .18s;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.eyebrow,.panel-kicker{color:var(--accent-2);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 12px color-mix(in srgb, var(--accent-2) 40%, transparent);margin:0;font-size:.82rem}.hero-copy .eyebrow{margin-bottom:.75rem}.terminal-prompt{font-family:var(--font-mono), monospace;margin-left:.35em;font-size:1.2em;font-weight:700;display:inline-block}.terminal-cursor{animation:1s step-end 5 cursor-blink;display:inline-block}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.terminal-cursor{animation:none}}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;font-family:Space Grotesk,Avenir Next,sans-serif}h1{max-width:20ch;text-shadow:0 0 46px color-mix(in srgb, var(--accent-2) 22%, transparent);margin-bottom:1.5rem;font-size:clamp(2.75rem,8vw,5rem);line-height:1}h2{max-width:14ch;margin-bottom:0;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1}h3{margin-bottom:.75rem;font-size:1.55rem}.hero{flex-direction:column;justify-content:center;gap:2rem;min-height:calc(100vh - 7rem);padding:4rem 0;display:flex}.hero-copy,.hero-panel,.project-card,.contact-card{border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-copy{border-radius:var(--radius-lg);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffff12,#0000 45%),#081425ad;padding:clamp(2rem,4vw,3.5rem)}.hero-copy:after,.hero-panel:after,.project-card:after,.contact-card:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff38,#0000 40%,#ffffff0a);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.hero-intro,.section-lead,.prose p,.capability-card p,.project-summary,.contact-card p,.metric-card span{color:var(--muted)}.prose strong,.prose b{color:var(--text)}.hero-intro{max-width:60ch;margin-bottom:2rem;font-size:1.1rem}.hero-actions,.project-links{flex-wrap:wrap;gap:.9rem;display:flex}.contact-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.75rem;display:flex}.contact-link-group{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.button{border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:.8rem 1.2rem;transition:transform .18s,border-color .18s,background-color .18s;display:inline-flex}.button-icon{flex-shrink:0;width:1.1rem;height:1.1rem}.button-icon-only{width:3rem;height:3rem;padding:0}.button-icon-only .button-icon{width:1.3rem;height:1.3rem}.button:hover,.button:focus-visible{border-color:#ffffff3d;transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg, var(--accent), #ff8c62);color:#09101a;font-weight:700}.button-primary:hover,.button-primary:focus-visible{box-shadow:0 0 28px color-mix(in srgb, var(--accent) 50%, transparent)}.button-secondary{background:#ffffff0a}.button-secondary:hover,.button-secondary:focus-visible{box-shadow:0 0 22px color-mix(in srgb, var(--accent-2) 32%, transparent)}.hero-panel{border-radius:var(--radius-lg);background:radial-gradient(circle at top, #77e1ff2e, transparent 34%), var(--panel);backdrop-filter:blur(16px);padding:1.5rem 2rem 2.25rem}.metric-grid,.stack-list,.stack-cloud{margin:0;padding:0;list-style:none}.metric-grid{flex-wrap:wrap;gap:1.5rem 2rem;display:flex}.metric-card{border-left:1px solid var(--line);flex-direction:column;flex:160px;gap:.35rem;padding-left:1.5rem;display:flex}.metric-card:first-child{border-left:none;padding-left:0}.metric-card strong{white-space:pre-line;font-size:1.1rem;font-family:var(--font-mono), monospace}.terminal-window{background:#ffffff0a;border:1px solid #ffffff14;border-radius:1.25rem;margin-top:2.25rem;overflow:hidden}.terminal-titlebar{background:#050e1a66;border-bottom:1px solid #ffffff14;align-items:center;gap:.4rem;padding:.65rem .9rem;display:flex}.terminal-dot{border-radius:50%;width:.55rem;height:.55rem}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.terminal-titlebar-label{color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin-left:.5rem;font-size:.75rem}.signal-card{align-items:center;gap:.8rem;padding:1.1rem;display:flex}.signal-card p{margin:0}.signal-dot{aspect-ratio:1;background:var(--accent-4);border-radius:50%;flex-shrink:0;width:.8rem;height:.8rem;box-shadow:0 0 0 .4rem #8ae8bf26}.section-split,.projects-heading,.contact-card{gap:1.25rem;display:grid}.section-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.section-heading{gap:.75rem;display:grid}.prose p+p{margin-top:1rem}.projects-grid{gap:1.5rem;margin-top:2rem;display:grid}.project-card{border-radius:var(--radius-lg);background:var(--panel-strong);grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);transition:transform .22s,box-shadow .22s;display:grid}.project-card:hover,.project-card:focus-within{box-shadow:0 0 36px color-mix(in srgb, var(--card-accent,var(--accent-2)) 45%, transparent), var(--shadow);transform:translateY(-4px)}.project-media{min-height:100%;display:block;position:relative;overflow:hidden}.project-media:after{content:"";pointer-events:none;background:linear-gradient(160deg,#07111f61,#07111f1a 55%,#07111f6b);transition:opacity .26s;position:absolute;inset:0}.project-media img{object-fit:cover;filter:saturate(.65)brightness(.92);width:100%;height:100%;transition:transform .26s,filter .26s}.project-media:hover img,.project-media:focus-visible img{filter:none;transform:scale(1.03)}.project-media:hover:after,.project-media:focus-visible:after{opacity:0}.project-content{gap:1rem;padding:1.5rem;display:grid}.project-meta{color:var(--muted);font-size:.92rem;font-family:var(--font-mono), monospace;justify-content:space-between;gap:1rem;display:flex}.project-tagline{margin-bottom:0;font-size:1.06rem}.stack-list,.stack-cloud{flex-wrap:wrap;gap:.75rem;display:flex}.stack-list li,.stack-cloud li{border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid #ffffff1a}.stack-list li{color:var(--text);font-size:.92rem;font-family:var(--font-mono), monospace;padding:.55rem .9rem}.stack-cloud li{--icon-color:var(--text);width:2.5rem;height:2.5rem;color:var(--icon-color);justify-content:center;align-items:center;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.stack-cloud-principal li{width:3.25rem;height:3.25rem}.stack-cloud-principal svg{width:2rem;height:2rem}.stack-icon-trigger{all:unset;cursor:pointer;display:contents}.stack-cloud li:hover,.stack-cloud li:has(:focus-visible){box-shadow:0 0 18px color-mix(in srgb, currentColor 55%, transparent);background:#ffffff1a;border-color:currentColor;transform:translateY(-2px)}.stack-cloud li:not(.stack-cloud-text):after{content:attr(title);border:1px solid var(--line);background:var(--panel-strong);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;border-radius:.5rem;padding:.35rem .65rem;font-size:.78rem;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + .6rem);left:50%;transform:translate(-50%,4px)}.stack-cloud li:hover:after,.stack-cloud li:has(:focus-visible):after{opacity:1;transform:translate(-50%)}.stack-cloud svg{fill:currentColor;width:1.5rem;height:1.5rem}.stack-icon-fixed svg{width:2rem;height:2rem}.stack-cloud-text{width:auto;color:var(--text);font-size:.85rem;font-weight:600;font-family:var(--font-mono), monospace;text-transform:uppercase;white-space:nowrap;padding:0 .9rem}.stack-block{flex-direction:column;gap:.75rem;display:flex}.capability-grid+.stack-block,.stack-block+.stack-block{margin-top:2.5rem}.stack-cloud-principal{gap:1rem}.stack-groups{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:2rem 1.5rem;display:grid}.stack-group{flex-direction:column;gap:.6rem;display:flex}.stack-group-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;font-family:var(--font-mono), monospace;margin:0}.trademark-note{color:var(--muted);opacity:.7;margin-top:1.5rem;font-size:.78rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-links a{font-weight:700}.secondary-project-label{margin-top:3rem;margin-bottom:1rem}.secondary-project-list{margin:0;padding:0;list-style:none}.secondary-project-item{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.85rem 0;display:flex}.secondary-project-item:last-child{border-bottom:none;padding-bottom:0}.secondary-project-title{color:var(--text);font-weight:700;transition:color .18s}.secondary-project-title:hover,.secondary-project-title:focus-visible{color:var(--accent-2)}.secondary-project-meta{color:var(--muted);font-size:.88rem;font-family:var(--font-mono), monospace}.theme-amber{--card-accent:var(--accent)}.theme-ice{--card-accent:var(--accent-2)}.theme-coral{--card-accent:var(--accent-3)}.theme-mint{--card-accent:var(--accent-4)}.theme-violet{--card-accent:var(--accent-5)}.theme-amber .project-content{background:linear-gradient(#f4b8600f,#0000 50%)}.theme-ice .project-content{background:linear-gradient(#77e1ff14,#0000 50%)}.theme-coral .project-content{background:linear-gradient(#ff8a6b14,#0000 50%)}.theme-mint .project-content{background:linear-gradient(#8ae8bf14,#0000 50%)}.theme-violet .project-content{background:linear-gradient(180deg, color-mix(in srgb, var(--card-accent) 8%, transparent), transparent 50%)}.capabilities{gap:1.75rem;display:grid}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.capability-card h3{font-family:var(--font-mono), monospace;letter-spacing:0;margin-bottom:.5rem;font-size:1.15rem}.contact-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 100% 0,#f4b8601f,#0000 28%),#081425d6;border-bottom:none;padding:clamp(1.5rem,4vw,3rem) clamp(1.5rem,4vw,3rem) 1.5rem}@media (width<=900px){.project-card{grid-template-columns:1fr}.stack-groups{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:normal}.project-media img{min-height:240px;max-height:340px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.metric-card{border-left:none;padding-left:0}.metric-card:nth-child(n+3){border-top:1px solid var(--line);padding-top:1rem}}@media (width<=640px){body.nav-open{overflow:hidden}.topbar:before{content:"";z-index:1;opacity:0;visibility:hidden;pointer-events:none;background:#040a13bf;transition:opacity .18s,visibility .18s;position:fixed;inset:0}body.nav-open .topbar:before{opacity:1;visibility:visible;pointer-events:auto}.topbar-inner{z-index:2;border-radius:1.4rem;flex-direction:row;align-items:center;padding:.65rem 1rem;position:relative}body.nav-js-ready .nav-toggle{width:2.25rem;height:2.25rem;display:inline-flex}body.nav-js-ready .topbar nav{z-index:30;border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;background:#0f2540;border-radius:1.4rem;flex-flow:column;justify-content:flex-start;align-items:flex-start;gap:1rem;padding:1.25rem;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + .75rem);left:0;right:0;transform:translateY(-8px)}body.nav-js-ready .topbar nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.topbar .lang-switch{border-top:1px solid var(--line);width:100%;padding-top:1rem}.hero{justify-content:flex-start;gap:1.5rem;min-height:auto;padding:1rem 0 0}.hero-fold{flex-direction:column;justify-content:center;min-height:calc(100dvh - 5.75rem);display:flex}.hero h1{margin-bottom:1rem}.hero-intro{margin-bottom:1.5rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.metric-grid{grid-template-columns:1fr}.metric-card{border-top:1px solid var(--line);padding-top:1rem}.metric-card:first-child{border-top:none;padding-top:0}.section:not(.hero){padding:5rem 0}.section.contact-section{padding-bottom:0}.section-split,.capability-grid,.stack-groups{grid-template-columns:1fr}.project-content,.contact-card{padding:1.25rem}.secondary-project-item{flex-direction:column;align-items:flex-start}.hero-copy,.hero-panel{padding:clamp(1.25rem,4.5vh,2.75rem)}.card-footer{padding-top:1.25rem}}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:70vh;display:flex}.not-found-lead{max-width:46ch;color:var(--muted);font-size:1.05rem}.not-found-lead-en{margin-top:-.75rem;margin-bottom:1.5rem}.not-found-actions{flex-wrap:wrap;gap:.75rem;display:flex}html.js-reveal [data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);transform:translateY(28px)}html.js-reveal [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js-reveal [data-reveal]{opacity:1;transition:none;transform:none}}
