:root,[data-theme=dark]{--nd-bg:#1a1612;--nd-bg-warm:#1f1a15;--nd-surface:#221d18;--nd-surface-raised:#2a241e;--nd-border:#2d2620;--nd-border-strong:#443a31;--nd-text-mute:#8a7d6e;--nd-text-secondary:#b8ab9a;--nd-text-primary:#e8ddc9;--nd-text-display:#f5f0e8;--nd-accent:#d97757;--nd-accent-hover:#e08a6e;--nd-accent-subtle:rgba(217,119,87,0.14);--nd-accent-glow:rgba(217,119,87,0.35);--nd-shadow:0 1px 2px rgba(0,0,0,0.25),0 8px 24px rgba(0,0,0,0.18);--nd-shadow-strong:0 1px 2px rgba(0,0,0,0.3),0 14px 36px rgba(0,0,0,0.28);--nd-ease:cubic-bezier(0.32,0.08,0.24,1);--nd-ease-out:cubic-bezier(0.16,1,0.3,1);--nd-font-serif:"Fraunces","Iowan Old Style","Apple Garamond",Georgia,serif;--nd-font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--nd-font-mono:"JetBrains Mono","SF Mono","Menlo",monospace}[data-theme=light]{--nd-bg:#faf9f6;--nd-bg-warm:#f5f3ed;--nd-surface:#ffffff;--nd-surface-raised:#f5f3ed;--nd-border:#eae5dc;--nd-border-strong:#cfc6b6;--nd-text-mute:#9a9082;--nd-text-secondary:#5f574c;--nd-text-primary:#2a2620;--nd-text-display:#141210;--nd-accent:#c25a3b;--nd-accent-hover:#a84a2e;--nd-accent-subtle:rgba(194,90,59,0.10);--nd-accent-glow:rgba(194,90,59,0.25);--nd-shadow:0 1px 2px rgba(20,18,16,0.04),0 8px 24px rgba(20,18,16,0.06);--nd-shadow-strong:0 1px 2px rgba(20,18,16,0.06),0 14px 36px rgba(20,18,16,0.10)}body,html{background-color:var(--nd-bg)!important;color:var(--nd-text-primary)!important;font-family:var(--nd-font-sans)!important;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}[class*=Background_]{display:none!important}.nd-page{position:relative;min-height:100vh;width:100%;background:var(--nd-bg);overflow-x:hidden}.nd-glow{display:none}.nd-grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}[data-theme=light] .nd-grain{opacity:.025;mix-blend-mode:multiply}.nd-dot-grid{display:none}.nd-container{position:relative;z-index:1;max-width:880px;margin:0 auto;padding:120px 32px 80px}.nd-display{font-family:var(--nd-font-serif);font-size:clamp(48px,6.8vw,84px);font-weight:360;line-height:1.02;letter-spacing:-.028em;color:var(--nd-text-display);margin:0;font-variation-settings:"opsz" 144,"SOFT" 30;font-feature-settings:"ss01"}.nd-display em{position:relative;font-style:italic;font-weight:340;color:var(--nd-accent);font-variation-settings:"opsz" 144,"SOFT" 100;display:inline-block;transition:transform .6s var(--nd-ease-out)}.nd-display em:hover{transform:translateX(2px)}.nd-display-caret{display:inline-block;width:.06em;height:.78em;margin-left:.08em;background:var(--nd-accent);vertical-align:-.05em;opacity:.7;animation:nd-caret 1.4s steps(2) infinite;border-radius:1px}@keyframes nd-caret{0%,50%{opacity:.7}51%,to{opacity:0}}.nd-heading{font-family:var(--nd-font-serif);font-size:22px;font-weight:420;line-height:1.25;letter-spacing:-.012em;color:var(--nd-text-display);margin:0;font-variation-settings:"opsz" 48,"SOFT" 30;transition:font-variation-settings .35s var(--nd-ease)}.nd-card:hover .nd-heading{font-variation-settings:"opsz" 48,"SOFT" 50,"wght" 480}.nd-section-title{font-family:var(--nd-font-serif);font-size:clamp(24px,3vw,32px);font-weight:380;letter-spacing:-.018em;color:var(--nd-text-display);margin:0 0 24px;line-height:1.18;max-width:640px;font-variation-settings:"opsz" 144,"SOFT" 30}.nd-subheading{font-family:var(--nd-font-sans);font-size:19px;font-weight:300;line-height:1.55;letter-spacing:-.006em;color:var(--nd-text-secondary);margin:0;max-width:540px}.nd-label{font-family:var(--nd-font-mono);font-size:11px;font-weight:500;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--nd-text-mute);display:inline-flex;align-items:center;gap:10px}.nd-label:before{content:"";display:inline-block;width:18px;height:1px;background:var(--nd-border-strong);transition:width .4s var(--nd-ease-out)}.nd-hero:hover .nd-label:before,.nd-section:hover .nd-section-label:before{width:28px}.nd-label.nd-label-plain:before{display:none}.nd-body{font-size:16.5px;line-height:1.7;letter-spacing:-.002em;color:var(--nd-text-primary)}.nd-body,.nd-body-sm{font-family:var(--nd-font-sans);font-weight:400;margin:0}.nd-body-sm{font-size:14.5px;line-height:1.55;color:var(--nd-text-secondary)}.nd-caption{font-family:var(--nd-font-mono);font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--nd-text-mute)}.nd-hero{padding:16px 0 64px}.nd-hero-row{display:flex;align-items:center;justify-content:space-between;gap:56px}.nd-hero-text{display:flex;flex-direction:column;gap:28px;flex:1 1;min-width:0}.nd-avatar-wrap{position:relative;width:210px;height:210px;flex-shrink:0;perspective:900px;--rx:0deg;--ry:0deg;--hx:50%;--hy:50%}.nd-avatar-inner{position:relative;width:100%;height:100%;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .6s var(--nd-ease-out);border-radius:50%}.nd-avatar-wrap:hover .nd-avatar-inner{transition:transform .12s linear}.nd-avatar{display:block;width:100%;height:100%;border-radius:50%;border:1px solid var(--nd-border);object-fit:cover;box-shadow:var(--nd-shadow);transition:border-color .35s var(--nd-ease)}.nd-avatar-wrap:hover .nd-avatar{border-color:var(--nd-border-strong)}.nd-avatar-shine{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at var(--hx) var(--hy),rgba(245,240,232,.18),transparent 55%);opacity:0;transition:opacity .3s var(--nd-ease);pointer-events:none;mix-blend-mode:overlay}.nd-avatar-wrap:hover .nd-avatar-shine{opacity:1}.nd-avatar-ring{position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--nd-border);opacity:0;transition:opacity .4s var(--nd-ease),transform .6s var(--nd-ease-out);pointer-events:none}.nd-avatar-wrap:hover .nd-avatar-ring{opacity:1;transform:scale(1.02);border-color:var(--nd-border-strong)}.nd-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--nd-accent);flex-shrink:0;position:relative;animation:nd-pulse 2.6s ease-in-out infinite}@keyframes nd-pulse{0%,to{opacity:1}50%{opacity:.5}}.nd-section{display:flex;flex-direction:column;gap:24px;padding:64px 0}.nd-section-label{display:inline-flex;margin-bottom:0}.nd-count{color:var(--nd-text-mute);margin-left:8px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:.04em}.nd-body-stack{display:flex;flex-direction:column;gap:18px;max-width:640px}.nd-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent 0,var(--nd-border) 18%,var(--nd-border) 82%,transparent 100%);position:relative;overflow:hidden}.nd-divider:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 38%,rgba(232,221,201,.18) 50%,transparent 62%);transform:translateX(-100%);animation:nd-divider-sweep 6s linear infinite;will-change:transform}[data-theme=light] .nd-divider:after{background:linear-gradient(90deg,transparent 38%,rgba(20,18,16,.1) 50%,transparent 62%)}@keyframes nd-divider-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.nd-links{display:flex;flex-wrap:wrap;gap:10px;padding-top:12px}.nd-btn,a.nd-btn,a.nd-btn:link,a.nd-btn:visited{display:inline-flex;align-items:center;gap:8px;font-family:var(--nd-font-sans)!important;font-size:14px!important;font-weight:500!important;letter-spacing:-.005em;text-transform:none;text-decoration:none!important;padding:10px 18px;border-radius:8px;min-height:40px;transition:background-color .22s var(--nd-ease),border-color .22s var(--nd-ease),color .22s var(--nd-ease),transform .2s var(--nd-ease-out),box-shadow .22s var(--nd-ease);cursor:pointer;white-space:nowrap;box-sizing:border-box;line-height:1;position:relative;overflow:hidden}.nd-btn:active{transform:translateY(1px) scale(.99)}.nd-btn-primary,a.nd-btn-primary,a.nd-btn-primary:link,a.nd-btn-primary:visited{background-color:var(--nd-accent)!important;color:#ffffff!important;border:1px solid var(--nd-accent)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.nd-btn-primary:hover,a.nd-btn-primary:hover{background-color:var(--nd-accent-hover)!important;border-color:var(--nd-accent-hover)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-1px)}.nd-btn-primary .nd-btn-icon{transition:transform .25s var(--nd-ease-out)}.nd-btn-primary:hover .nd-btn-icon{transform:translateX(3px)}.nd-btn-secondary,a.nd-btn-secondary,a.nd-btn-secondary:link,a.nd-btn-secondary:visited{background-color:transparent!important;color:var(--nd-text-primary)!important;border:1px solid var(--nd-border-strong)!important}.nd-btn-secondary:hover,a.nd-btn-secondary:hover{background-color:var(--nd-surface)!important;border-color:var(--nd-text-mute)!important;color:var(--nd-text-display)!important;transform:translateY(-1px)}.nd-arrow{display:inline-block;transition:transform .25s var(--nd-ease-out);font-family:var(--nd-font-sans);font-weight:400}.nd-btn:hover .nd-arrow{transform:translateX(3px)}.nd-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.nd-card{--mx:50%;--my:50%;display:flex;flex-direction:column;background:var(--nd-surface);border:1px solid var(--nd-border);border-radius:14px;text-decoration:none;overflow:hidden;transition:border-color .28s var(--nd-ease),background-color .28s var(--nd-ease),transform .35s var(--nd-ease-out),box-shadow .35s var(--nd-ease);cursor:pointer;position:relative;isolation:isolate}.nd-card:hover{border-color:var(--nd-border-strong);background:var(--nd-surface-raised);transform:translateY(-3px);box-shadow:var(--nd-shadow-strong)}.nd-card-border-glow,.nd-card-spotlight{display:none}.nd-card-private:hover{transform:none;box-shadow:none}.nd-card:hover .nd-card-arrow{color:var(--nd-text-display)}.nd-card:hover .nd-card-arrow svg{transform:translate(2px,-2px)}.nd-card-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--nd-surface-raised);border-bottom:1px solid var(--nd-border)}.nd-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .8s var(--nd-ease-out),filter .35s var(--nd-ease);will-change:transform}.nd-card:hover .nd-card-media img{transform:scale(1.035)}.nd-card-media-fade{position:absolute;inset:auto 0 0 0;height:25%;background:linear-gradient(180deg,transparent,var(--nd-surface) 95%);pointer-events:none;opacity:.4;transition:opacity .35s var(--nd-ease)}.nd-card:hover .nd-card-media-fade{opacity:.5}.nd-card-body{display:flex;flex-direction:column;gap:12px;padding:22px 24px 24px;position:relative;z-index:4}.nd-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nd-card-arrow{font-family:var(--nd-font-sans);color:var(--nd-text-mute);flex-shrink:0;line-height:1;margin-top:4px;display:inline-flex;transition:color .25s var(--nd-ease)}.nd-card-arrow svg{display:block;transition:transform .25s var(--nd-ease-out)}.nd-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}.nd-card-year{font-family:var(--nd-font-mono);font-size:11px;letter-spacing:.08em;color:var(--nd-text-mute);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nd-tags{display:flex;flex-wrap:wrap;gap:6px}.nd-tag{font-family:var(--nd-font-mono);font-size:10.5px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--nd-text-secondary);padding:3px 9px;border:1px solid var(--nd-border-strong);border-radius:4px;background:var(--nd-bg-warm);transition:border-color .22s var(--nd-ease),color .22s var(--nd-ease),transform .22s var(--nd-ease-out)}.nd-card:hover .nd-tag{border-color:var(--nd-text-mute);color:var(--nd-text-primary)}.nd-card-private{cursor:default}.nd-card-badge{font-family:var(--nd-font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--nd-text-mute);padding:4px 9px;border:1px solid var(--nd-border-strong);border-radius:4px;flex-shrink:0;background:var(--nd-bg-warm);margin-top:2px}.nd-card-media-placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 60% 80% at 50% 50%,var(--nd-surface-raised) 0,var(--nd-surface) 100%)}.nd-card-placeholder-grid{position:absolute;inset:0;background-image:linear-gradient(var(--nd-border) 1px,transparent 1px),linear-gradient(90deg,var(--nd-border) 1px,transparent 1px);background-size:36px 36px;background-position:-1px -1px;opacity:.5;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 100%)}.nd-card-placeholder-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--nd-text-secondary)}.nd-lock-icon{width:26px;height:26px;color:var(--nd-text-mute)}.nd-card-placeholder-label{font-family:var(--nd-font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--nd-text-mute)}.nd-footer{padding:56px 0 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.nd-footer-meta{font-family:var(--nd-font-mono);font-size:11px;color:var(--nd-text-mute);letter-spacing:.06em}.nd-btn:focus-visible,.nd-card:focus-visible{outline:2px solid var(--nd-accent);outline-offset:3px;border-radius:10px}.nd-card:focus-visible{border-color:var(--nd-border-strong);border-radius:14px;outline-offset:4px}::selection{background:var(--nd-accent-subtle);color:var(--nd-text-display)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--nd-bg)}::-webkit-scrollbar-thumb{background:var(--nd-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--nd-text-mute)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.nd-display-caret,.nd-divider:after,.nd-dot{animation:none!important}}@media (max-width:720px){.nd-container{padding:72px 22px 56px}.nd-hero{padding:8px 0 40px}.nd-hero-row{flex-direction:column-reverse;align-items:flex-start;gap:28px}.nd-avatar-wrap{width:96px;height:96px}.nd-section{padding:40px 0}.nd-subheading{font-size:17px}.nd-body{font-size:16px}.nd-project-list{grid-template-columns:1fr;gap:14px}.nd-card-body{padding:18px 20px 20px}.nd-btn{font-size:13.5px!important;padding:9px 16px;min-height:38px}.nd-footer{flex-direction:column;align-items:flex-start}}