@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=DM+Mono:wght@400;500&display=swap');
:root{color-scheme:light;--bg:#fbfaf7;--surface:#fff;--surface-soft:#f2f1ed;--ink:#17191d;--muted:#6c727d;--line:#e8e6e1;--accent:#547fa3;--accent-soft:#e0ebf3;--accent-warm:#f2d5c9;--shadow:0 24px 60px #252b3310;--radius:22px}
:root[data-theme="dark"]{color-scheme:dark;--bg:#171a1d;--surface:#202428;--surface-soft:#292e32;--ink:#f0f1ed;--muted:#a6adb4;--line:#343a3e;--accent:#a8c8e4;--accent-soft:#303e49;--accent-warm:#4a3530;--shadow:0 24px 60px #00000028}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.7;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;top:-50px;left:16px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:20}.skip-link:focus{top:10px}
.site-header{height:78px;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.7px;font-size:19px;white-space:nowrap}.brand-mark{width:32px;height:32px;background:var(--ink);color:var(--bg);display:grid;place-items:center;border-radius:10px;font-size:16px}.brand-dot,.heading-period{color:var(--accent)}.navigation{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700}.navigation>a:not(.nav-contact){color:var(--muted)}.navigation>a:hover,.text-link:hover,.card-link:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-contact{border-radius:12px;padding:10px 14px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700;white-space:nowrap}.nav-contact span{margin-left:7px}.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.theme-toggle:hover{border-color:var(--accent)}.theme-icon{font-size:15px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr .95fr;gap:55px;align-items:center;padding-top:76px;padding-bottom:80px;min-height:625px}.eyebrow{font:700 10px/1.5 "DM Sans",sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px;margin:0 0 20px}.status-dot{width:7px;height:7px;border-radius:50%;background:#5e9473;display:inline-block}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(43px,5.2vw,66px);line-height:1.08;letter-spacing:-3.6px;font-weight:800;margin:0 0 25px}.hero h1 em,.homelab-copy h2 em,.contact-inner h2 em,.about-big em{font-style:normal;color:var(--accent)}.hero-lead{font-size:16px;color:var(--muted);line-height:1.85;max-width:510px;margin:0}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 18px;border-radius:12px;font-size:12px;font-weight:800;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--bg)}.button-dark:hover{background:var(--accent);color:white}.button-outline{background:var(--surface);border:1px solid var(--line)}.text-link{font-size:12px;font-weight:800;transition:color .2s}.text-link span{margin-left:7px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:39px;color:var(--muted);font-size:11px}.note-line{width:31px;height:1px;background:var(--line)}
.hero-visual{position:relative;min-height:475px;display:grid;place-items:center}.visual-blob{position:absolute;width:390px;height:390px;border-radius:44% 56% 52% 48%;background:var(--accent-soft);transform:rotate(-9deg)}.visual-blob:after{content:"";position:absolute;right:-22px;top:26px;width:130px;height:130px;border-radius:50%;background:var(--accent-warm);opacity:.8}.dashboard{position:relative;width:min(390px,100%);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);transform:rotate(1.5deg)}.dash-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line)}.dash-brand{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800}.dash-brand-mark{width:26px;height:26px;display:grid;place-items:center;background:var(--ink);color:var(--bg);border-radius:8px;font-size:12px}.dash-status{font:9px "DM Mono",monospace;color:#4c8b63;background:#e3f0e5;padding:5px 8px;border-radius:20px}.dash-title{font-size:19px;letter-spacing:-.6px;font-weight:800;margin:19px 0 4px}.dash-sub{font-size:11px;color:var(--muted);margin:0 0 16px}.dash-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{border:1px solid var(--line);background:var(--bg);padding:13px;border-radius:12px}.metric-label{display:block;color:var(--muted);font-size:10px}.metric-value{display:block;font:500 16px "DM Mono",monospace;margin-top:6px}.metric-value small{font-size:10px;color:#5e9473}.dash-bottom{margin-top:11px;background:var(--surface-soft);border-radius:12px;padding:13px;display:flex;align-items:center;gap:12px}.dash-stack{display:grid;gap:4px}.dash-stack i{display:block;width:32px;height:8px;border-radius:2px;background:var(--accent)}.dash-stack i:nth-child(2){width:25px;opacity:.65}.dash-stack i:nth-child(3){width:18px;opacity:.4}.dash-bottom strong{font-size:11px;display:block}.dash-bottom small{font-size:10px;color:var(--muted)}.dash-arrow{margin-left:auto;color:var(--accent);font-size:19px}.float-note{position:absolute;right:-4px;bottom:24px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:11px 14px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow);font-size:10px;font-weight:700}.float-note .mini-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:14px}.float-note small{display:block;font-weight:400;color:var(--muted)}
.quick-facts{border-block:1px solid var(--line);background:var(--surface-soft)}.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:23px}.facts-grid>div{display:flex;align-items:center;gap:13px;border-right:1px solid var(--line);padding-left:22px}.facts-grid>div:first-child{padding-left:0}.facts-grid>div:last-child{border:0}.fact-number{font:11px "DM Mono",monospace;color:var(--accent)}.fact-label{font-size:11px;font-weight:700;color:var(--muted)}
.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:12px}.section h2,.section-heading h2{font-family:Manrope,sans-serif;font-size:43px;letter-spacing:-2px;line-height:1.2;margin:0;font-weight:800}.section-intro{max-width:390px;font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 3px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;transition:transform .25s,border-color .25s,box-shadow .25s}.project-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow)}.project-top{display:flex;justify-content:space-between;align-items:center;padding:17px 18px 0}.project-index{font:10px "DM Mono",monospace;color:var(--muted);letter-spacing:.7px}.project-symbol{font-size:20px;color:var(--accent)}.project-art{height:165px;margin:15px 15px 0;position:relative;overflow:hidden;background:var(--surface-soft);border:1px solid var(--line);border-radius:13px}.art-server{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface-soft),var(--accent-soft))}.rack{width:76px;background:#343b39;padding:9px 8px;display:grid;gap:6px;box-shadow:9px 8px 0 #b6c4b5;transform:skewY(-3deg)}.rack i{height:19px;background:#596459;border:1px solid #7d8b7c;position:relative}.rack i:after{content:"";position:absolute;left:5px;top:7px;width:4px;height:4px;border-radius:50%;background:#b7d1b6;box-shadow:10px 0 #8ea88e}.rack-side{width:14px;height:93px;background:#222821;transform:skewY(35deg)}.art-label{position:absolute;bottom:13px;right:12px;font:8px "DM Mono",monospace;letter-spacing:1px;color:var(--muted)}.art-network{background:var(--accent-soft)}.net-line{position:absolute;height:1px;background:var(--accent);opacity:.55;transform-origin:left}.n1{width:115px;left:52px;top:53px;transform:rotate(31deg)}.n2{width:120px;left:52px;top:53px;transform:rotate(-31deg)}.n3{width:105px;left:52px;top:53px;transform:rotate(90deg)}.net-node{position:absolute;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--surface);color:var(--accent);font:9px "DM Mono",monospace;width:45px;height:32px;border-radius:7px}.node-a{left:30px;top:37px}.node-b{right:28px;top:23px}.node-c{right:22px;bottom:21px}.node-d{left:40px;bottom:17px}.art-code{background:#262d2a;display:flex;align-items:center;justify-content:center}.code-sheet{width:57%;display:grid;gap:9px}.code-line{height:5px;background:#718f75;border-radius:2px}.code-line.short{width:34%}.code-line.medium{width:70%;background:#a0bda0}.code-line.long{width:100%;background:#819c83}.code-bracket{position:absolute;right:19px;bottom:12px;font:24px "DM Mono",monospace;color:#c0d6bc}.project-content{padding:20px 19px 23px}.project-content h3{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.5px;margin:0 0 9px}.project-content p{font-size:12px;color:var(--muted);line-height:1.85;margin:0 0 17px;min-height:67px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-list span{font:9px "DM Mono",monospace;padding:5px 7px;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line);border-radius:6px}.card-link{display:inline-block;font-size:11px;font-weight:800;color:var(--accent);margin-top:16px}.card-link span{margin-left:5px}
.homelab-section{background:var(--surface-soft);border-block:1px solid var(--line);padding:85px 0}.homelab-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.homelab-copy .eyebrow{margin-bottom:17px}.homelab-copy h2{font-family:Manrope,sans-serif;font-size:40px;line-height:1.2;letter-spacing:-2px;margin:0 0 24px}.homelab-copy p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.95;margin:0 0 15px}.homelab-copy .text-link{display:inline-block;margin-top:10px}.spec-panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.spec-header{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 20px;font:9px "DM Mono",monospace;letter-spacing:1px;color:var(--muted)}.spec-led{width:6px;height:6px;border-radius:50%;background:#5e9473}.spec-menu{margin-left:auto;letter-spacing:2px}.spec-row{display:grid;grid-template-columns:1fr 1.25fr auto;align-items:center;gap:10px;padding:17px 20px;border-bottom:1px solid var(--line)}.spec-label{font-size:10px;color:var(--muted)}.spec-row strong{font-size:11px;font-weight:700}.spec-state{font:9px "DM Mono",monospace;color:#4c8b63;background:#e3f0e5;padding:4px 7px;border-radius:6px}.spec-foot{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;color:var(--muted);font-size:10px}.foot-mark{font-size:18px;font-weight:800;color:var(--accent)}
.about-section{padding-top:100px;padding-bottom:105px}.about-section .section-heading{margin-bottom:30px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;border-top:1px solid var(--line);padding-top:36px}.about-big{font-family:Manrope,sans-serif;font-size:clamp(25px,3vw,37px);line-height:1.45;letter-spacing:-1.4px;font-weight:800}.about-text>p{font-size:13px;color:var(--muted);line-height:1.95;margin:0 0 16px}.about-values{display:grid;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.about-values span{font-size:11px;font-weight:700}.about-values b{font:10px "DM Mono",monospace;color:var(--accent);margin-right:12px}
.contact-section{background:var(--ink);color:#f4f5ef;padding:70px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-inner .eyebrow{color:#bdc4c4;margin-bottom:15px}.contact-inner h2{font-family:Manrope,sans-serif;font-size:47px;line-height:1.17;letter-spacing:-2px;margin:0}.contact-inner h2 em{color:#b9d9f5}.contact-right p{font-size:13px;color:#c4c9c8;line-height:1.9;margin:0 0 22px;max-width:420px}.button-light{background:#f5f4ef;color:#17191d}.button-light:hover{background:#d5e5f1}.contact-right .contact-small{font:9px "DM Mono",monospace;color:#aab1b0;margin-top:16px;margin-bottom:0}.site-footer{background:var(--surface);color:var(--muted);border-top:1px solid var(--line)}.footer-inner{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{color:var(--ink);font-size:14px}.footer-brand .brand-mark{width:26px;height:26px;font-size:13px}.footer-inner>p{font-size:10px}.footer-right{display:flex;gap:22px;align-items:center;font:9px "DM Mono",monospace}.footer-right a:hover{color:var(--accent)}
@media(max-width:900px){.hero{gap:25px}.hero h1{font-size:51px;letter-spacing:-2.8px}.navigation{gap:16px}.theme-label{display:none}.facts-grid{grid-template-columns:repeat(2,1fr);row-gap:20px}.facts-grid>div:nth-child(2){border:0}.facts-grid>div:nth-child(3){padding-left:0}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card:last-child{grid-column:1/-1}.project-card:last-child .project-art{height:145px}.homelab-layout{gap:40px}.spec-row{grid-template-columns:1fr 1.1fr}.spec-state{display:none}.about-layout{gap:40px}}
@media(max-width:650px){.container{width:min(100% - 34px,1160px)}.site-header{height:68px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink)}.navigation{display:none;position:absolute;left:0;right:0;top:67px;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 18px 20px;align-items:stretch;gap:0;flex-direction:column}.navigation.is-open{display:flex}.navigation a{padding:12px 8px}.navigation .nav-contact{margin-top:7px;text-align:center}.theme-toggle{margin-top:7px;justify-content:center}.theme-label{display:inline}.nav-wrap{gap:10px}.hero{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:58px}.hero h1{font-size:clamp(42px,12vw,57px);letter-spacing:-2.8px}.hero-lead{font-size:14px}.hero-note{margin-top:30px}.hero-visual{min-height:420px;width:100%;max-width:450px;margin:auto}.visual-blob{width:min(350px,85vw);height:min(350px,85vw)}.dashboard{width:min(360px,95%);padding:14px}.float-note{right:-3px;bottom:13px}.facts-grid{padding-block:19px;column-gap:10px}.facts-grid>div{padding-left:8px;gap:9px}.fact-label{font-size:10px}.section{padding-top:70px;padding-bottom:70px}.section-heading{display:block;margin-bottom:25px}.section h2,.section-heading h2{font-size:36px}.section-intro{margin-top:17px}.project-grid{grid-template-columns:1fr;gap:13px}.project-card:last-child{grid-column:auto}.project-card:last-child .project-art{height:165px}.project-content p{min-height:0}.homelab-section{padding:62px 0}.homelab-layout{grid-template-columns:1fr;gap:32px}.homelab-copy h2{font-size:36px}.spec-row{padding:14px;grid-template-columns:.85fr 1.15fr}.spec-header,.spec-foot{padding-inline:14px}.about-section{padding-top:70px;padding-bottom:70px}.about-layout{grid-template-columns:1fr;gap:22px;padding-top:25px}.about-big{font-size:30px}.contact-section{padding:55px 0}.contact-inner{grid-template-columns:1fr;gap:27px}.contact-inner h2{font-size:41px}.footer-inner{padding-block:22px;flex-wrap:wrap;justify-content:space-between}.footer-inner>p{order:3;width:100%;margin:0}.footer-right{gap:13px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
