@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.20g3-bbbhdq0_.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2cxlyxah-fd35.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.0mkxydxl0e43d.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1rx9vjatjkdar.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.2kcj5i_8uff48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.3gdi_th3seg1n.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0gsaq8ukbf34m.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"Inter Variable", "Inter", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", monospace;--bg:#03000a;--surface:#111016;--surface-strong:#18181b;--text:#fff;--muted:#a1a1aa;--line:#27272a;--accent:#c084fc;--accent-warm:#fb923c;--accent-text:#13061f;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 75% -10%, #c084fc1f, transparent 30rem), var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.shell{width:min(1280px,100% - 64px);margin-inline:auto}.page-progress{z-index:30;transform-origin:0;background:var(--accent);height:2px;position:fixed;inset:0 0 auto}.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent);z-index:20;-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#03000ac7;height:72px;position:sticky;top:0}.nav-wrap{grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid}.brand{align-items:center;gap:10px;width:fit-content;font-weight:650;display:inline-flex}.brand-symbol{color:#d8aaff;background:linear-gradient(145deg,#c084fc33,#c084fc0d),#0e0b13;border:1px solid #c084fc61;border-radius:10px;place-items:center;width:38px;height:38px;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,color .35s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 0 28px #c084fc29}.brand-symbol:after{content:"";border:1px solid #fb923c42;width:24px;height:24px;position:absolute;bottom:-12px;right:-10px;transform:rotate(45deg)}.brand:hover .brand-symbol{color:var(--text);border-color:#c084fcb3;transform:translateY(-2px)rotate(-2deg)}.brand-symbol svg{z-index:1;position:relative}.brand-symbol img{z-index:1;border-radius:6px;position:relative}nav{color:var(--muted);gap:32px;font-size:14px;display:flex}nav a{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}nav a svg{color:#73737e;transition:color .3s,transform .35s cubic-bezier(.16,1,.3,1)}nav a:hover svg{color:var(--accent);transform:translateY(-1px)}nav a,.text-link{transition:color .3s cubic-bezier(.16,1,.3,1);position:relative}nav a:hover,.text-link:hover{color:var(--accent)}.animated-link:after,nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.animated-link:hover:after,nav a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-contact{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-self:end;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:13px;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s;display:inline-flex}.nav-contact:hover{border-color:#c084fc80;transform:translateY(-2px)}.hero{isolation:isolate;min-height:calc(100dvh - 72px);position:relative;overflow:hidden}.hero-layout{z-index:2;min-height:inherit;align-items:center;padding-block:48px;display:flex;position:relative}.hero-copy{text-shadow:0 2px 30px #03000ab8;max-width:620px}.hero-copy h1{max-width:18ch;font-size:clamp(46px,4.5vw,64px)}.eyebrow{font:600 12px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;max-width:13ch;margin-bottom:26px;font-size:clamp(46px,5vw,68px);font-weight:520;line-height:1.04}h2{letter-spacing:-.035em;font-size:clamp(34px,4vw,58px);font-weight:520;line-height:1.06}h3{letter-spacing:-.025em}.hero-intro,.page-intro>p,.homelab-intro>div>p,.about-copy p{color:var(--muted);max-width:54ch;font-size:clamp(17px,1.35vw,20px);line-height:1.6}.hero-intro{max-width:39ch}.hero-actions{align-items:center;gap:28px;margin-top:34px;display:flex}.button{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:fit-content;min-height:48px;padding:0 20px;font-weight:650;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);display:inline-flex}.button:hover{box-shadow:0 16px 34px color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-2px)}.button:active{transform:translateY(1px)scale(.98)}.button-primary{background:linear-gradient(135deg, #d2a3ff, var(--accent));color:var(--accent-text);box-shadow:inset 0 1px #ffffff59}.hero-background{z-index:-1;background:var(--bg);position:absolute;inset:0;overflow:hidden}.hero-background:after{content:"";pointer-events:none;background:linear-gradient(90deg,#03000afc 0%,#03000ae6 28%,#03000a7a 49%,#03000a14 78%),linear-gradient(#03000a29,#0000 48%,#03000a61);position:absolute;inset:0}.hero-image-inner{will-change:transform;position:absolute;inset:-4% 0}.hero-background img{object-fit:cover;object-position:center}.section-space{padding-block:clamp(88px,9vw,132px)}.home-projects{padding-top:clamp(96px,8vw,120px)}.home-section-copy{max-width:760px;margin-bottom:48px}.home-section-copy h2{max-width:13ch;margin-bottom:20px}.home-section-copy p{max-width:55ch;color:var(--muted);margin:0;font-size:clamp(17px,1.35vw,20px);line-height:1.6}.skills-grid{grid-template-columns:1.08fr .92fr;gap:16px;display:grid}.skills-grid>div{min-width:0;height:100%}.skills-grid>div:first-child{grid-row:span 2;min-height:540px}.skill-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;justify-content:space-between;gap:40px;height:100%;min-height:262px;padding:clamp(28px,4vw,48px);transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .45s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.skill-card:hover{border-color:#c084fc66;transform:translateY(-5px)}.skill-card>svg{color:var(--accent)}.skill-card h3{margin-bottom:12px;font-size:clamp(25px,2.5vw,38px)}.skill-card p{max-width:43ch;color:var(--muted);margin:0;font-size:17px;line-height:1.6}.skill-card a{color:#dedee5;width:fit-content;font:600 13px/1.4 var(--font-mono);align-items:center;gap:8px;transition:color .3s,transform .35s cubic-bezier(.16,1,.3,1);display:inline-flex}.skill-card a:hover{color:var(--accent);transform:translate(5px)}.skill-card-violet{background:radial-gradient(circle at 82% 12%,#c084fc38,#0000 34%),linear-gradient(145deg,#17121d,#0e0c12)}.skill-card-violet:after{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #c084fc2e;border-radius:50%;width:52%;position:absolute;bottom:-17%;right:-11%;box-shadow:inset 0 0 70px #c084fc14}.skill-card-neutral{background:linear-gradient(135deg,#18181b,#0f0f13)}.skill-card-neutral>svg{color:#d4d4d8}.skill-card-orange{background:radial-gradient(circle at 90% 110%, #fb923c2e, transparent 46%), var(--surface-strong)}.skill-card-orange>svg{color:var(--accent-warm)}.section-heading{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.section-heading h2{margin:0}.section-heading .text-link{align-items:center;gap:8px;font-weight:650;display:inline-flex}.project-list{grid-template-columns:1.15fr .85fr;grid-auto-flow:dense;gap:16px;width:min(1280px,100% - 64px);margin-inline:auto;display:grid}.project-list>div{min-width:0}.project-list>div:only-child{grid-column:1/-1}.project-list:has(>div:nth-child(3))>div:first-child{grid-row:span 2;min-height:616px}.project-row{isolation:isolate;border-radius:var(--radius);background:var(--surface);border:1px solid #ffffff1c;height:100%;min-height:300px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.project-card-image{object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s}.project-card-scrim{z-index:1;background:linear-gradient(90deg,#03000af5 0%,#03000ad6 40%,#03000a2e 76%),linear-gradient(#0000 48%,#03000ac2);transition:background .6s;position:absolute;inset:0}.project-card-content{z-index:2;width:min(72%,570px);min-height:inherit;align-content:space-between;gap:28px;height:100%;padding:clamp(26px,3.2vw,42px);transition:transform .5s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.project-row:hover .project-card-image{filter:saturate(1.08)contrast(1.03);transform:scale(1.035)}.project-row:hover .project-card-content{transform:translateY(-4px)}.project-row:active .project-card-content{transform:translateY(-1px)scale(.99)}.project-row h3{margin:0;font-size:clamp(24px,2.2vw,36px)}.project-area{color:var(--accent);font:600 11px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.project-card-content>p{color:#d4d4d8;text-wrap:balance;max-width:42ch;margin:0;line-height:1.55}.project-meta{font:500 11px/1.4 var(--font-mono);letter-spacing:.03em;color:#b4b4bd;flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.project-meta span+span{color:#e4e4e7}.project-arrow{z-index:2;width:40px;height:40px;color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#03000a94;border:1px solid #ffffff29;border-radius:10px;place-items:center;transition:transform .45s cubic-bezier(.16,1,.3,1),background .35s;display:grid;position:absolute;top:24px;right:24px}.project-row:hover .project-arrow{transform:translate(5px,-5px)rotate(3deg)}.project-row:hover .project-card-scrim{background:linear-gradient(90deg,#03000af5 0%,#03000ac7 42%,#03000a1a 78%),linear-gradient(#0000 46%,#03000ab8)}.approach-panel{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 0% 100%, #c084fc24, transparent 36%), var(--surface);grid-template-columns:.82fr 1.18fr;gap:clamp(48px,7vw,100px);padding:clamp(38px,6vw,76px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.approach-heading{align-self:center}.approach-heading h2{max-width:10ch;margin-bottom:24px}.approach-heading p{max-width:34ch;color:var(--muted);margin:0;font-size:18px;line-height:1.6}.approach-list{grid-template-columns:1fr 1fr;align-content:center;column-gap:34px;display:grid}.approach-item{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:16px;padding-block:26px;transition:transform .35s cubic-bezier(.16,1,.3,1);display:grid}.approach-item:hover{transform:translate(5px)}.approach-item>svg{color:var(--accent);margin-top:2px}.approach-item:nth-child(3)>svg,.approach-item:nth-child(4)>svg{color:var(--accent-warm)}.approach-item h3{margin-bottom:7px;font-size:19px}.approach-item p{color:var(--muted);margin:0;line-height:1.55}.home-contact-section{padding-top:clamp(72px,7vw,108px);padding-bottom:clamp(96px,10vw,148px)}.home-contact{border-radius:var(--radius);background:var(--surface-strong);border:1px solid #c084fc3d;grid-template-columns:1.08fr .92fr;min-height:580px;display:grid;position:relative;overflow:hidden;box-shadow:0 34px 100px #37145a2e,inset 0 1px #ffffff0d}.home-contact-copy{z-index:2;align-self:center;padding:clamp(38px,6vw,78px);position:relative}.home-contact-copy h2{max-width:13ch;margin-bottom:24px}.home-contact-copy>p{max-width:45ch;color:var(--muted);margin-bottom:34px;font-size:18px;line-height:1.6}.home-contact-links{max-width:410px;display:grid}.home-contact-links a{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 0;font-weight:650;transition:color .3s,transform .4s cubic-bezier(.16,1,.3,1);display:grid}.home-contact-links a:hover{color:var(--accent);transform:translate(8px)}.home-contact-portrait{background:radial-gradient(circle at 58% 38%,#c084fc33,#0000 34%),linear-gradient(135deg,#17121d,#0d0c11);min-height:580px;position:relative;overflow:hidden}.home-contact-portrait:before{content:"";border:1px solid #c084fc1f;border-bottom:0;border-radius:45% 45% 0 0;position:absolute;inset:8% 8% 0;box-shadow:inset 0 0 80px #c084fc0d}.home-contact-portrait:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--surface-strong), transparent 22%), linear-gradient(135deg, #c084fc14, transparent 45%, #fb923c14);position:absolute;inset:0}.home-contact-portrait img{z-index:1;object-fit:contain;object-position:center bottom;image-rendering:pixelated;padding:24px 32px 0;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .9s}.home-contact:hover .home-contact-portrait img{filter:saturate(1.08);transform:scale(1.035)}.footer{border-top:1px solid var(--line);padding:48px 0}.footer-grid{color:var(--muted);grid-template-columns:1fr 1fr auto;align-items:end;gap:32px;font-size:14px;line-height:1.6;display:grid}.footer-grid strong{color:var(--text)}.footer-grid p{margin:0}.footer-note{max-width:40ch}.social-links{gap:10px;display:flex}.social-links a{border:1px solid var(--line);border-radius:10px;place-items:center;width:42px;height:42px;transition:transform .35s cubic-bezier(.16,1,.3,1);display:grid}.social-links a:hover{transform:translateY(-4px)}.page-intro{min-height:calc(100dvh - 72px);padding-block:clamp(72px,10vw,140px)}.page-intro h1{max-width:14ch}.page-intro>.project-list{margin-top:80px}.page-intro .project-row{padding:0}.projects-page{padding-top:clamp(64px,7vw,96px)}.projects-page h1{max-width:18ch}.projects-page>.project-list{margin-top:64px}.homelab-intro{grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(48px,7vw,96px);display:grid}.homelab-intro>div{min-width:0}.homelab-hero-copy>p:last-child{color:var(--muted);max-width:49ch;font-size:clamp(17px,1.35vw,20px);line-height:1.6}.homelab-hero-visual{border-radius:var(--radius);background:var(--surface);border:1px solid #c084fc38;position:relative;overflow:hidden;box-shadow:0 36px 110px #37145a3d,inset 0 1px #ffffff0f}.homelab-hero-visual:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(135deg,#c084fc14,#0000 44%,#fb923c12);position:absolute;inset:0}.homelab-hero-visual img{object-fit:cover;width:100%;height:min(64dvh,700px);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .9s}.homelab-hero-visual:hover img{filter:saturate(1.08);transform:scale(1.025)}.homelab-snapshot{padding-top:clamp(96px,9vw,132px)}.node-snapshot{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 0 100%,#c084fc26,#0000 38%),linear-gradient(145deg,#17121d,#0d0c11);grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,86px);padding:clamp(34px,5vw,64px);display:grid;box-shadow:inset 0 1px #ffffff0d}.snapshot-lead{flex-direction:column;height:100%;display:flex}.snapshot-mark{width:56px;height:56px;color:var(--accent);background:#c084fc17;border:1px solid #c084fc4d;border-radius:12px;place-items:center;margin-bottom:auto;display:grid}.snapshot-kicker{color:var(--accent);font:600 11px/1.4 var(--font-mono);letter-spacing:.04em;margin:clamp(54px,8vw,108px) 0 18px}.snapshot-lead h3{max-width:15ch;margin-bottom:18px;font-size:clamp(28px,3vw,42px);font-weight:520;line-height:1.08}.snapshot-lead>p:last-child{max-width:48ch;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.snapshot-data{gap:34px;min-width:0;display:grid}.snapshot-metrics{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.snapshot-metrics>div{min-width:0}.snapshot-metric{background:#111016f5;flex-direction:column;min-height:176px;padding:25px;transition:background .35s;display:flex}.snapshot-metric:hover{background:#18151d}.snapshot-metric strong{color:var(--text);letter-spacing:-.04em;margin-bottom:auto;font-size:clamp(30px,3vw,44px);font-weight:520;line-height:1}.snapshot-metric span{color:#e4e4e7;margin-top:24px;font-size:14px;font-weight:650}.snapshot-metric small{color:var(--muted);font:500 11px/1.4 var(--font-mono);margin-top:5px}.node-details{margin:0}.node-details>div{border-top:1px solid var(--line);grid-template-columns:120px 1fr;gap:22px;padding:15px 0;display:grid}.node-details dt{color:var(--muted);font:500 11px/1.5 var(--font-mono)}.node-details dd{color:#dedee5;margin:0;font-size:14px;line-height:1.5}.homelab-services{padding-top:clamp(72px,7vw,104px)}.service-index{grid-template-columns:1fr 1fr;column-gap:clamp(32px,6vw,84px);display:grid}.service-index>div{min-width:0}.service-row{border-top:1px solid var(--line);grid-template-columns:30px 34px minmax(120px,.72fr) 1.28fr;align-items:start;gap:18px;min-height:148px;padding:28px 0;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .35s;display:grid}.service-row:hover{border-color:#c084fc6b;transform:translate(6px)}.service-number{color:#62626c;font:500 10px/1.4 var(--font-mono);padding-top:4px}.service-row>svg{color:var(--accent)}.service-index>div:nth-child(3n+2) .service-row>svg{color:var(--accent-warm)}.service-row h3{margin-bottom:5px;font-size:19px}.service-row div>span{color:var(--muted);font:500 10px/1.4 var(--font-mono)}.service-row p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.homelab-principles{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 100% 0%, #fb923c1a, transparent 34%), var(--surface);grid-template-columns:.78fr 1.22fr;gap:clamp(46px,7vw,94px);padding:clamp(38px,6vw,76px);display:grid;box-shadow:inset 0 1px #ffffff0a}.principles-heading{align-self:center}.principles-heading>svg{color:var(--accent);margin-bottom:32px}.principles-heading h2{margin-bottom:20px}.principles-heading p{max-width:36ch;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.principles-list{align-self:center}.principles-list article{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:18px;padding:23px 0;transition:transform .35s cubic-bezier(.16,1,.3,1);display:grid}.principles-list article:hover{transform:translate(6px)}.principles-list article>svg{color:var(--accent);margin-top:2px}.principles-list article:nth-child(3)>svg,.principles-list article:nth-child(4)>svg{color:var(--accent-warm)}.principles-list h3{margin-bottom:6px;font-size:19px}.principles-list p{color:var(--muted);margin:0;line-height:1.55}.about-layout{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(48px,7vw,108px);display:grid}.about-content{z-index:1;position:relative}.about-copy{padding-top:18px}.about-copy p:first-child{color:var(--text);font-size:clamp(22px,2vw,30px);line-height:1.45}.about-copy .button{margin-top:20px}.about-portrait{margin:0;position:relative}.about-portrait:before{content:"";z-index:-1;filter:blur(18px);background:radial-gradient(circle,#c084fc33,#0000 64%);position:absolute;inset:-12% 6% 8% -10%}.about-portrait-frame{border-radius:var(--radius);background:var(--surface);border:1px solid #c084fc4d;position:relative;overflow:hidden;box-shadow:0 36px 110px #37145a42,inset 0 1px #ffffff0f}.about-portrait-frame:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(135deg,#c084fc17,#0000 44%,#fb923c14);position:absolute;inset:0}.about-portrait img{aspect-ratio:1.64;object-fit:cover;width:100%;height:auto;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s}.about-portrait:hover img{filter:saturate(1.08);transform:scale(1.025)}.about-portrait figcaption{color:var(--muted);font:500 11px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:24px;margin-top:14px;display:flex}.about-portrait figcaption span{color:var(--accent-warm)}@media (max-width:900px){.shell{width:min(100% - 36px,720px)}nav{display:none}.nav-wrap{grid-template-columns:1fr auto}.hero{min-height:calc(100dvh - 72px)}.hero-layout{min-height:inherit;padding-block:64px 80px}.hero-copy{max-width:600px}.hero-background img{object-position:62% center}.hero-background:after{background:linear-gradient(90deg,#03000afa 0%,#03000ae0 38%,#03000a6b 76%,#03000a33),linear-gradient(#03000a38,#0000 42%,#03000a94)}.skills-grid,.approach-panel,.home-contact,.homelab-intro,.node-snapshot,.homelab-principles,.about-layout{grid-template-columns:1fr}.skills-grid>div:first-child{grid-row:auto;min-height:420px}.skill-card{min-height:290px}.project-list{grid-template-columns:1fr;width:min(100% - 36px,720px)}.project-list:has(>div:nth-child(3))>div:first-child{grid-row:auto;min-height:420px}.project-row{min-height:420px}.project-card-content{width:min(78%,560px)}.approach-panel{gap:46px}.approach-heading h2{max-width:13ch}.home-contact-portrait{min-height:520px}.homelab-hero-visual img{height:54dvh}.snapshot-kicker{margin-top:48px}.service-index{grid-template-columns:1fr}.service-row{grid-template-columns:30px 34px minmax(130px,.72fr) 1.28fr}.about-layout{padding-block:72px 96px}.about-portrait{max-width:720px}}@media (max-width:620px){.shell{width:calc(100% - 32px)}h1{font-size:clamp(43px,13vw,62px)}.hero-actions{align-items:flex-start}.section-heading{flex-direction:column;align-items:flex-start;gap:24px}.footer-grid{grid-template-columns:1fr;align-items:start}.hero-copy h1{max-width:14ch}.hero-layout{padding-block:58px 64px}.hero-background img{object-position:67% center}.hero-background:after{background:linear-gradient(90deg,#03000af2,#03000aad 72%,#03000a4d),linear-gradient(#03000a52,#0000 34%,#03000ab8)}.project-list{width:calc(100% - 32px)}.project-row{min-height:480px}.project-list:has(>div:nth-child(3))>div:first-child{min-height:480px}.project-card-scrim{background:linear-gradient(#03000a24 0%,#03000ab8 45%,#03000af7 100%)}.project-card-content{padding:24px;align-content:end;gap:20px;width:100%;padding-right:68px}.project-arrow{top:20px;right:20px}.skills-grid>div:first-child{min-height:360px}.skill-card{min-height:300px;padding:26px}.approach-panel{padding:30px 26px}.approach-list{grid-template-columns:1fr}.approach-item{padding-block:22px}.home-contact{min-height:0}.home-contact-copy{padding:36px 26px 44px}.home-contact-portrait{min-height:390px}.home-contact-portrait:after{background:linear-gradient(180deg, var(--surface-strong), transparent 24%), linear-gradient(135deg, #c084fc14, transparent 48%, #fb923c14)}.homelab-intro{padding-block:64px 88px}.homelab-hero-visual img{height:48dvh;min-height:350px}.node-snapshot,.homelab-principles{padding:30px 25px}.snapshot-metrics{grid-template-columns:1fr}.snapshot-metric{min-height:154px}.node-details>div{grid-template-columns:90px 1fr;gap:16px}.service-row{grid-template-columns:24px 28px 1fr;gap:14px;min-height:0}.service-row p{grid-column:3}.service-row>svg{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}
