@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/inter-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/inter-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/inter-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/inter-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/inter-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/jbm-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/jbm-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/archivo-black-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0A0A0A;--surface: #111111;--accent: #00B4D8;--text: #F4F3F0;--dim: #8B93A1;--muted: #7A808C;--danger: #ff8a8a;--line: #1a1a1a;--line-strong: #252525;--bg-scrim: rgba(10, 10, 10, .94);--bg-scrim-strong: rgba(10, 10, 10, .98);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--font-display: "Archivo Black", system-ui, sans-serif;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 14px;--fs-base: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--ls-tight: .08em;--ls-label: .12em;--ls-wide: .2em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 80px;--space-10: 120px;--gutter: 56px;--radius-sm: 4px;--z-noise: 9999;--z-nav: 100;--z-content: 10;--z-hero: 2}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.site:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.03;z-index:var(--z-noise);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}.content{position:relative;z-index:var(--z-content);display:flex;flex-direction:column;min-height:100vh}#main-content{flex:1}.nav-logo,.nav-links a,.lang-btn,.hero-tag,.section-label,.stat-label,.skill-card h3,.exp-year,.project-status,.project-client,.lang-level,.contact-link-label,footer p,.eyebrow,.post-meta-row,.pill,.article h2,.btn{font-family:var(--font-mono);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);font-size:var(--fs-sm);font-weight:500;letter-spacing:var(--ls-label);text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);transition:background .15s,color .15s,border-color .15s}.btn-outline{color:var(--accent);border-color:var(--accent);background:transparent}.btn-outline:hover{background:var(--accent);color:var(--bg)}.btn-ghost{color:var(--dim);border-color:var(--dim);background:transparent}.btn-ghost:hover{color:var(--text);border-color:var(--text)}.btn-solid{color:var(--bg);background:var(--text);border-color:var(--text)}.btn-solid:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn-danger{color:var(--danger);border-color:var(--danger);background:transparent}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--bg)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn[aria-busy=true]{cursor:progress}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:12px;height:12px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);display:flex;justify-content:space-between;align-items:center;padding:20px var(--gutter);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}nav:before{content:"";position:absolute;inset:0;pointer-events:none;backdrop-filter:blur(12px) hue-rotate(15deg);-webkit-backdrop-filter:blur(12px) hue-rotate(15deg);-webkit-mask-image:linear-gradient(to bottom,black,black 55%,transparent);mask-image:linear-gradient(to bottom,black,black 55%,transparent)}nav>*{position:relative;z-index:1}@-moz-document url-prefix(){nav:before{backdrop-filter:none;-webkit-backdrop-filter:none;mask-image:none;-webkit-mask-image:none;background:linear-gradient(to bottom,#0a0a0a99,#0a0a0a00)}}nav.scrolled{background:var(--bg-scrim);border-color:var(--line)}.nav-logo{font-size:var(--fs-sm);letter-spacing:var(--ls-label);color:var(--text);text-decoration:none;font-weight:500}.nav-content{display:flex;align-items:center}.mobile-menu-btn{display:none;background:none;border:none;color:var(--dim);cursor:pointer;padding:var(--space-2)}.mobile-menu-btn svg{width:24px;height:24px}.nav-links{display:flex;gap:var(--space-6);list-style:none}.nav-links a{font-size:var(--fs-sm);letter-spacing:var(--ls-label);color:var(--dim);text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text)}.lang-picker{display:flex;gap:var(--space-1);margin-left:var(--space-5)}.lang-btn{font-size:var(--fs-xs);letter-spacing:var(--ls-tight);padding:var(--space-1) var(--space-2);display:inline-block;background:transparent;border:1px solid var(--line);color:var(--dim);text-decoration:none;cursor:pointer;transition:color .15s,border-color .15s}.lang-btn:hover{color:var(--text);border-color:var(--dim)}.lang-btn.active{color:var(--text);border-color:var(--accent)}#hero{position:relative;min-height:100vh;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;z-index:1;display:block}.hero-content{position:relative;z-index:var(--z-hero);display:flex;flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 var(--gutter) var(--space-9)}.hero-tag{font-size:var(--fs-sm);letter-spacing:var(--ls-wide);color:var(--accent);margin-bottom:var(--space-5);text-shadow:0 0 10px rgba(0,0,0,.7)}.hero-name{font-family:var(--font-display);font-size:inherit;font-weight:400;color:var(--text);text-shadow:0 2px 18px rgba(0,0,0,.85),0 0 4px rgba(0,0,0,.5)}.hero-name span.accent{color:var(--accent)}.hero-flip{--hero-size: clamp(64px, 10vw, 140px);position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:1.84em;font-size:var(--hero-size);line-height:.92;letter-spacing:-.03em;perspective:650px;transition:min-height .6s cubic-bezier(.34,1.2,.4,1)}.hero-flip.login{min-height:2.76em}.hero-letter{display:inline-block;transform-origin:bottom center;backface-visibility:hidden;transition:transform .75s cubic-bezier(.34,1.2,.4,1),opacity .5s ease;transition-delay:calc(var(--i) * 40ms)}.hero-flip.login .hero-letter,.hero-flip.live .hero-letter{transform:rotateX(-115deg) translateY(.08em);opacity:0}.hero-login,.hero-live{position:absolute;inset:0;display:grid;align-content:end;gap:0;opacity:0;pointer-events:none;transition:opacity .35s ease .35s}.hero-login{font-family:var(--font-display);font-weight:400}.hero-live{font:inherit;background:none;border:none;padding:0;color:inherit;text-align:left;cursor:pointer}.hero-flip.login .hero-login,.hero-flip.live .hero-live{opacity:1;pointer-events:auto}.hero-login-line{display:flex;align-items:baseline;gap:var(--space-3);transform:rotateX(-90deg);transform-origin:bottom center;backface-visibility:hidden;opacity:0;transition:transform .6s cubic-bezier(.34,1.2,.4,1),opacity .35s ease}.hero-flip.login .hero-login-line,.hero-flip.live .hero-login-line{transform:rotateX(0);opacity:1;transition-delay:calc(.35s + var(--i, 0) * .15s)}.hero-live-text{font-family:var(--font-display);font-size:inherit;font-weight:400;line-height:.92;letter-spacing:-.03em;text-transform:uppercase;color:var(--text);text-shadow:0 2px 18px rgba(0,0,0,.85),0 0 4px rgba(0,0,0,.5);text-wrap:balance}.hero-bracket{font:inherit;color:var(--accent);text-shadow:0 2px 18px rgba(0,0,0,.85);opacity:0;transition:opacity .25s ease}.hero-login-line.active .hero-bracket{opacity:1}.hero-login-label{flex:1;font-family:var(--font-display);font-size:inherit;line-height:.92;letter-spacing:inherit;text-transform:uppercase;color:var(--text);text-shadow:0 2px 18px rgba(0,0,0,.85)}.hero-input-wrap{position:relative;flex:1;min-width:0;height:.92em}.hero-input{display:block;width:100%;min-width:0;height:100%;font:inherit;line-height:.92;color:var(--text);background:transparent;border:none;border-radius:0;padding:0;caret-color:transparent;text-shadow:0 2px 18px rgba(0,0,0,.85)}.hero-input--password{color:transparent;text-shadow:none}.hero-input:focus{outline:none}.hero-mask{position:absolute;inset:0;overflow:hidden;white-space:nowrap;pointer-events:none;font:inherit;line-height:.92;color:var(--text);text-shadow:0 2px 18px rgba(0,0,0,.85)}.hero-login.error .hero-mask,.hero-login.error .hero-bracket,.hero-login.error .hero-login-label{color:var(--danger)}.hero-login.error .hero-input:not(.hero-input--password){color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:var(--space-7)}.hero-desc{max-width:380px;text-shadow:0 1px 8px rgba(0,0,0,.6)}.section-label{font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--dim);margin-bottom:var(--space-7)}.section-label.accent{color:var(--accent);margin-bottom:var(--space-5)}.home-section,.section{padding:var(--space-10) var(--gutter);border-top:1px solid var(--line)}.home-section h2,.section-title{font-family:var(--font-display);font-size:clamp(36px,4.5vw,64px);font-weight:400;letter-spacing:-.025em;line-height:1;color:var(--text)}.home-section h2{margin-bottom:var(--space-7)}.section-head{margin-bottom:56px}.about-text p,.skill-card p,.exp-desc,.project-desc,.edu-details,.card p,.article p,.article li,.page-shell p,.list-item p,.section-head p,.admin-head p,.hero-desc,.error-desc,.asset-block p,.asset-license p,.assets-intro{color:var(--dim);line-height:1.7}.about-text p,.article p,.article li,.page-shell p,.hero-desc{font-size:var(--fs-base)}#about{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9)}.about-text p{margin-bottom:var(--space-5)}.about-text p strong{color:var(--text);font-weight:500}.about-stats{display:flex;flex-direction:column;justify-content:flex-end;border-left:1px solid var(--line);padding-left:var(--space-9)}.stat-item{padding:28px 0;border-bottom:1px solid var(--line)}.stat-item:first-child{border-top:1px solid var(--line)}.stat-num,.exp-company,.contact-link-value{font-size:var(--fs-lg);color:var(--text)}.stat-num,.contact-link-value{font-weight:500}.stat-num{line-height:1}.stat-label{font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--dim);margin-top:var(--space-2)}.skills-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.skill-card{background:var(--bg);padding:var(--space-6);position:relative;overflow:hidden;transition:background .2s}.skill-card:hover{background:var(--surface)}.skill-card h3{font-size:var(--fs-md);font-weight:500;letter-spacing:var(--ls-tight);color:var(--text);margin-bottom:var(--space-3)}.skill-card p{font-size:var(--fs-md)}.pill-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.pill{font-size:var(--fs-xs);letter-spacing:var(--ls-label);padding:var(--space-1) var(--space-2);border:1px solid var(--line-strong);color:var(--dim)}.list-item,.exp-item,.project-item{display:block;padding:var(--space-5) 0;border-top:1px solid var(--line)}.list-item--muted h3{color:var(--dim)}.skeleton{border-radius:var(--radius-sm);background:var(--line);animation:skeletonPulse 1.2s ease-in-out infinite}.skeleton-title{width:32%;height:1.1em;margin-bottom:var(--space-3)}.skeleton-line{height:.9em;margin-bottom:var(--space-2)}.skeleton-line:last-child{margin-bottom:0}.skeleton-line--short{width:62%}@keyframes skeletonPulse{0%,to{opacity:.45}50%{opacity:.9}}.message-row{display:block;width:100%;padding:var(--space-4) var(--space-3);border:none;border-left:2px solid transparent;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.message-row:first-child{border-top:0}.message-row:hover{background:var(--surface)}.message-row.active{border-left-color:var(--accent);background:var(--surface)}.message-row.unread .message-row-name{color:var(--accent)}.message-row:not(.unread) .message-row-dot{visibility:hidden}.message-row-top{display:flex;justify-content:space-between;gap:var(--space-3)}.message-row-name{font-weight:600}.message-row-dot{display:inline-block;width:6px;height:6px;margin-right:var(--space-2);border-radius:50%;background:var(--accent);vertical-align:middle}.message-row-date{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-label);color:var(--dim);white-space:nowrap}.message-row-subject{display:block;margin-top:var(--space-1);color:var(--dim);font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-body{white-space:pre-wrap;margin-top:var(--space-4);max-width:68ch}.message-subject{font-weight:600;font-size:var(--fs-lg);margin-top:var(--space-3)}.message-detail{min-width:0;border-left:1px solid var(--line);padding-left:var(--space-6)}.toolbar{margin-top:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.toolbar .btn{min-width:140px}.webhook-url{font-family:var(--font-mono);font-size:var(--fs-md);word-break:break-all}.exp-item,.project-item{display:grid;gap:var(--space-8);padding:40px 0}.exp-item{grid-template-columns:200px 1fr}.exp-item:last-child{border-bottom:1px solid var(--line)}.project-item{grid-template-columns:260px 1fr;border-bottom:1px solid var(--line)}.exp-meta{display:flex;flex-direction:column}.exp-year{font-size:var(--fs-sm);letter-spacing:var(--ls-label);color:var(--accent);margin-bottom:var(--space-2)}.exp-company{font-weight:600}.exp-title,.project-name,.card h3,.list-item h3,.message-detail h3{font-weight:600;color:var(--text);margin-bottom:var(--space-3)}.exp-title,.card h3,.asset-block h3,.asset-license h3,.list-item h3,.message-detail h3{font-size:var(--fs-xl)}.project-name{font-size:var(--fs-2xl);line-height:1.2}.exp-desc,.project-desc{font-size:var(--fs-md)}.project-meta{display:flex;flex-direction:column;gap:var(--space-3)}.project-status{font-size:var(--fs-sm);letter-spacing:var(--ls-wide);color:var(--accent)}.project-client{font-size:var(--fs-sm);letter-spacing:var(--ls-tight);color:var(--dim)}#languages{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:start}.lang-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.lang-name{font-size:var(--fs-base);font-weight:500;color:var(--text)}.lang-level{font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--dim)}.lang-bar-wrap{flex:1;max-width:100px;height:2px;background:var(--line);margin-left:var(--space-5)}.lang-bar{width:100%;height:100%;background:var(--accent)}.edu-block{padding-top:var(--space-9)}.edu-details{margin-top:var(--space-5);font-size:var(--fs-md)}#contact{position:relative;overflow:hidden}#contact h2{font-family:var(--font-display);font-size:clamp(48px,7vw,96px);font-weight:400;letter-spacing:-.03em;line-height:.95;color:var(--text);position:relative;z-index:var(--z-hero);margin-bottom:var(--space-7)}.contact-socials{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3);position:relative;z-index:var(--z-hero)}.contact-social-link{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);text-decoration:none;transition:border-color .15s}.contact-social-link:hover{border-color:var(--accent)}.contact-social-icon{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--radius-sm);background:var(--text);color:var(--bg)}.contact-social-icon svg{width:var(--fs-md);height:var(--fs-md);display:block}.contact-social-handle{font-family:var(--font-mono);font-size:var(--fs-md);letter-spacing:.02em;color:var(--text)}.contact-links{margin-top:var(--space-6);display:flex;gap:var(--space-7);position:relative;z-index:var(--z-hero);flex-wrap:wrap}.contact-link{display:flex;flex-direction:column;gap:var(--space-1);text-decoration:none}.contact-link-label{font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--dim)}.contact-link-value{transition:color .15s;position:relative}.contact-link-value:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.contact-link:hover .contact-link-value{color:var(--accent)}.contact-link:hover .contact-link-value:after{transform:scaleX(1)}.email-obfuscated{unicode-bidi:bidi-override;direction:rtl}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:start}.split-layout.sidebar{grid-template-columns:minmax(240px,340px) minmax(0,1fr)}.contact-form{margin-top:var(--space-7);max-width:640px;position:relative;z-index:var(--z-hero)}.split-layout .contact-form{margin-top:0;max-width:none}.contact-form-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:400;margin-bottom:var(--space-6)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-field input,.form-field textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);width:100%;resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-actions{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.form-actions .form-field{flex:1;max-width:420px;margin-bottom:0}.form-actions .btn-danger{margin-left:auto}.form-actions .btn-solid{min-width:180px}.form-status{margin:var(--space-4) 0;font-size:var(--fs-md);color:var(--dim)}.form-status-success{color:var(--accent)}.form-status-error{color:var(--danger)}.form-consent{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--fs-sm);color:var(--dim)}.form-consent input{margin-top:3px;flex-shrink:0}.form-consent a{color:var(--accent)}.form-actions .form-consent{margin-bottom:0}details{margin-top:var(--space-4)}details p{margin-top:var(--space-2)}summary{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--dim);cursor:pointer;list-style:none;transition:color .15s}summary::-webkit-details-marker{display:none}summary:before{content:"> ";color:var(--accent)}summary:hover,details[open] summary{color:var(--text)}footer{padding:var(--space-5) var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}footer p{font-size:var(--fs-xs);letter-spacing:var(--ls-label);color:var(--muted)}footer a{color:var(--dim);text-decoration:none;transition:color .15s}footer a:hover{color:var(--text)}.build-info{color:var(--dim);letter-spacing:.03em;margin-top:var(--space-1)}.container{max-width:1100px;margin:0 auto}.grid{display:grid;gap:1px;background:var(--line)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{display:block;text-decoration:none;background:var(--bg);padding:var(--space-6) 28px;transition:background .2s,border-color .2s;border:1px solid var(--line)}.card:hover{background:var(--surface);border-color:var(--accent)}.card p{font-size:var(--fs-md)}.meta{margin-top:var(--space-4);display:flex;gap:var(--space-2);flex-wrap:wrap}.article{max-width:940px;margin:0 auto;padding:160px var(--gutter) var(--space-10);border-top:1px solid var(--line)}.article h1{font-family:var(--font-display);font-size:clamp(40px,5.5vw,72px);font-weight:400;letter-spacing:-.025em;line-height:.95;margin-bottom:var(--space-5)}.article h2{font-size:var(--fs-sm);letter-spacing:var(--ls-wide);color:var(--accent);margin-top:var(--space-7);margin-bottom:var(--space-3)}.article ul{padding-left:20px}.article .eyebrow{font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--accent);margin-bottom:var(--space-5)}.post-meta-row{margin-bottom:var(--space-5);font-size:var(--fs-sm);letter-spacing:var(--ls-label);color:var(--dim);display:flex;gap:var(--space-3);flex-wrap:wrap}.lang-switch{display:flex;gap:var(--space-1);margin:0 0 var(--space-5)}.inline-link{margin-top:var(--space-5)}.inline-link a,.article a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line-strong);transition:border-color .15s}.inline-link a:hover,.article a:hover{color:var(--accent);border-bottom-color:var(--accent)}.page-shell{max-width:720px;margin:0 auto;padding:var(--space-9) 24px var(--space-10)}.admin-shell{width:100%;max-width:1800px;margin:0 auto;padding:calc(var(--space-9) + var(--space-2)) var(--gutter) var(--space-9)}.admin-head{margin-bottom:var(--space-6)}.admin-head h1{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;color:var(--text);margin-bottom:var(--space-2)}.admin-shell code{font-family:var(--font-mono);font-size:var(--fs-md);word-break:break-all}.page-shell h1{font-size:clamp(28px,5vw,48px);margin-bottom:var(--space-3)}.legal-intro{color:var(--dim);margin-bottom:var(--space-7);font-size:var(--fs-base)}.page-shell section{margin-bottom:var(--space-6)}.page-shell h2{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:var(--ls-tight);color:var(--accent);margin-bottom:var(--space-1)}.page-shell p{margin:0 0 var(--space-3)}.page-shell p:last-child{margin-bottom:0}.page-shell a{color:var(--text);text-decoration:underline}.page-shell code{font-family:var(--font-mono);font-size:var(--fs-md)}.page-shell hr{border:none;border-top:1px solid var(--line);margin:var(--space-7) 0 var(--space-6)}.page-shell .legal-stand{color:var(--muted);font-size:var(--fs-md);margin-top:var(--space-7)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - 200px);text-align:center;padding:var(--space-9) var(--space-5)}.error-title{font-family:var(--font-display);font-size:clamp(72px,14vw,120px);font-weight:400;line-height:.9;letter-spacing:-.03em;color:var(--text);margin-bottom:var(--space-5)}.error-title .accent{color:var(--accent)}.error-desc{max-width:420px;margin-bottom:40px}.error-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.assets-grid{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:stretch}.asset-block{flex:1 1 340px;min-width:0;border:1px solid var(--line);background:var(--bg);padding:var(--space-5)}.asset-block--og{flex:2 1 480px}.asset-preview{display:flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:220px;margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) var(--space-5);padding:var(--space-5);border-bottom:1px solid var(--line);background:var(--surface)}.asset-block p{font-size:var(--fs-md);margin-bottom:var(--space-4)}.asset-block h3{margin-bottom:var(--space-2)}.assets-intro{max-width:640px;font-size:var(--fs-base);margin-bottom:var(--space-6)}.og-preview{container-type:inline-size;position:relative;flex:none;width:min(504px,100%);aspect-ratio:1200 / 630;overflow:hidden}.og-preview .og-card{transform:scale(calc(100cqw/1200px));transform-origin:top left}.asset-license{margin-top:var(--space-7);border-top:1px solid var(--line);padding-top:var(--space-5);max-width:640px}.asset-license h3{margin-bottom:var(--space-2)}.asset-license p{font-size:var(--fs-md)}.asset-dl{text-decoration:none;transition:color .15s,border-color .15s}.asset-dl:hover{color:var(--text);border-color:var(--accent)}@media(max-width:1024px){:root{--gutter: var(--space-6)}nav{padding:var(--space-4) var(--gutter)}.skills-grid{grid-template-columns:repeat(2,1fr)}.article{padding:var(--space-10) var(--gutter) 96px}}@media(max-width:768px){:root{--gutter: var(--space-5)}nav{padding:var(--space-4) var(--gutter)}#hero{min-height:100svh}.hero-content{padding:0 var(--gutter) 56px;min-height:100svh}.hero-tag{margin-bottom:var(--space-4);letter-spacing:var(--ls-wide)}.hero-flip{--hero-size: clamp(48px, 16vw, 80px)}.hero-bottom{margin-top:28px}.section-head{margin-bottom:var(--space-6)}#about,#languages{grid-template-columns:1fr;gap:40px}.about-stats{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:40px}.skills-grid{grid-template-columns:1fr}.project-item{grid-template-columns:1fr;gap:var(--space-5)}.exp-item{grid-template-columns:1fr;gap:var(--space-4)}.contact-socials{grid-template-columns:1fr}.contact-links{gap:var(--space-5)}.split-layout{grid-template-columns:1fr;gap:var(--space-7)}.split-layout.sidebar{grid-template-columns:1fr}.message-detail{border-left:none;padding-left:0}footer{flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.mobile-menu-btn{display:block}.nav-content{position:absolute;top:100%;left:0;right:0;background:var(--bg-scrim-strong);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:var(--space-5);gap:var(--space-5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s}.nav-content.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s}.nav-links{flex-direction:column;gap:var(--space-5);width:100%}.nav-links a{font-size:var(--fs-base);display:block;padding:var(--space-2) 0}.lang-picker{margin-left:0;width:100%}.grid.two{grid-template-columns:1fr}.article{padding:var(--space-10) var(--gutter) var(--space-9)}.error-page{padding:var(--space-7) var(--space-5)}.error-title{font-size:clamp(48px,18vw,80px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner,.skeleton{animation:none}}
