/* MiniLab visual polish */
:root{--shadow:0 22px 60px rgba(17,19,16,.12);--soft-shadow:0 10px 30px rgba(17,19,16,.08);--ease:cubic-bezier(.2,.7,.2,1)}
body{overflow-x:hidden;background-image:radial-gradient(circle at 8% 8%,rgba(200,255,61,.09),transparent 22%),radial-gradient(circle at 92% 30%,rgba(255,104,70,.07),transparent 20%)}
::selection{background:var(--orange);color:#fff}
.site-header{box-shadow:0 1px 0 rgba(17,19,16,.04);transition:background .25s ease}
.nav{min-height:82px}
.brand{display:flex;align-items:center;font-size:1.55rem}
.primary-menu{gap:5px}
.primary-menu>li>a{border:1px solid transparent;border-radius:999px;transition:.2s var(--ease)}
.primary-menu>li>a:hover{border-color:var(--ink);background:transparent;color:var(--ink);transform:translateY(-1px)}
.theme-toggle{border-radius:50%;transition:.25s var(--ease)}
.theme-toggle:hover{transform:rotate(20deg) scale(1.06)}

.hero{min-height:calc(100vh - 82px);display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(70px,9vw,125px)}
.hero-grid{position:relative}
.hero-grid:after{content:"MINILAB // 01";position:absolute;right:0;bottom:-50px;font:10px ui-monospace,monospace;letter-spacing:.15em;color:var(--muted)}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(4.9rem,10.7vw,9.8rem);text-wrap:balance}
.hero h1 span{-webkit-text-stroke-width:1.5px}
.hero-lead{border-left:3px solid var(--orange);padding-left:20px}
.btn{position:relative;overflow:hidden;border-radius:2px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.btn:hover{transform:translateY(-3px);box-shadow:7px 7px 0 var(--ink)}
.btn-primary:hover{box-shadow:7px 7px 0 var(--lime)}
.terminal-card{position:relative;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.terminal-card:hover{transform:rotate(0) translateY(-7px);box-shadow:24px 24px 0 var(--lime)}
.terminal-card:before{content:"";position:absolute;inset:-1px;border:1px solid rgba(255,255,255,.14);pointer-events:none}
.hero-marquee{box-shadow:0 6px 0 var(--ink)}

.section{padding-block:clamp(85px,10vw,140px)}
.section-label{display:flex;align-items:center;gap:12px;color:var(--muted)}
.section-label:after{content:"";height:1px;flex:1;max-width:100px;background:currentColor;opacity:.35}
.section-label span{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;margin:0}
.expertise-head,.tech-intro,.lab-header,.docs-head{margin-top:65px}
.expertise-head h2,.tech-intro h2,.lab-header h2,.docs-head h2{text-wrap:balance}

.service{border-top-color:#485044;border-radius:2px}
.service:hover{padding-left:24px;padding-right:18px;background:linear-gradient(90deg,rgba(200,255,61,.08),transparent)}
.service h3{transition:color .2s}
.service:hover h3{color:var(--lime)}
.service-arrow{transition:transform .2s}
.service:hover .service-arrow{transform:translate(5px,-5px)}

.tech-grid{gap:8px;border:0;background:transparent}
.tech-grid span{position:relative;display:flex;align-items:center;min-height:72px;border:1px solid var(--ink);background:rgba(241,240,233,.6);font-weight:700;transition:.25s var(--ease)}
.tech-grid span:before{content:"";width:6px;height:6px;margin-right:10px;border-radius:50%;background:var(--orange)}
.tech-grid span:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--ink)}

.timeline article{padding-top:4px}
.timeline article:before{box-shadow:0 0 0 6px var(--paper)}
.timeline h3{font-size:clamp(1.8rem,3vw,2.5rem)}
.timeline .role{display:inline-block;padding:4px 8px;background:rgba(255,104,70,.1)}

.homelab{position:relative;background:linear-gradient(180deg,var(--paper),#e3e2d8)}
.homelab:before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:linear-gradient(rgba(17,19,16,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,19,16,.08) 1px,transparent 1px);background-size:32px 32px}
.homelab>.wrap{position:relative}
.rack-grid{gap:10px;padding:32px;border-width:12px;border-radius:4px;box-shadow:18px 18px 0 var(--lime),19px 19px 0 1px var(--ink)}
.rack-unit{overflow:hidden;transition:.25s var(--ease)}
.rack-unit:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.04),transparent 70%);transform:translateX(-100%);transition:.45s}
.rack-unit:hover{border-color:var(--lime);transform:translateY(-3px)}
.rack-unit:hover:before{transform:translateX(100%)}
.rack-lights i:first-child{animation:blink 2.2s ease infinite}@keyframes blink{50%{opacity:.25}}

.project-grid{gap:28px}
.project{overflow:hidden;background:#ebe9df;box-shadow:var(--soft-shadow);transition:.3s var(--ease)}
.project:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.project-visual{transition:filter .3s}
.project:hover .project-visual{filter:saturate(1.15)}
.project-copy{padding:30px}
.project-copy h3{font-size:2rem}
.rack{transition:transform .35s var(--ease)}
.project:hover .rack{transform:perspective(500px) rotateY(0) scale(1.03)}

.blog-grid{gap:28px}
.post-card,.note-card{position:relative;padding:23px;border:1px solid var(--line);border-top:4px solid var(--ink);background:rgba(255,255,255,.18);transition:.25s var(--ease)}
.post-card:hover,.note-card:hover{transform:translateY(-6px);box-shadow:var(--soft-shadow);border-top-color:var(--orange)}
.post-thumb{margin:-23px -23px 20px;overflow:hidden}
.post-thumb img{transition:transform .5s var(--ease)}
.post-card:hover .post-thumb img{transform:scale(1.04)}

.doc-item{border-color:rgba(17,19,16,.35);border-radius:2px}
.doc-item:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-4px,-4px)}
.doc-item h3{transition:transform .2s}
.doc-item:hover h3{transform:translateX(5px)}

.lab-video{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--orange),#ff805f)}
.lab-video:after{content:"PLAY";position:absolute;right:-30px;bottom:-90px;font-size:16rem;line-height:1;font-weight:900;letter-spacing:-.1em;color:rgba(17,19,16,.06);pointer-events:none}
.video-layout{position:relative;z-index:2}
.video-frame{border:1px solid var(--ink);box-shadow:22px 22px 0 var(--lime),23px 23px 0 1px var(--ink);transition:.35s var(--ease)}
.video-frame:hover{transform:rotate(0) translateY(-6px)}
.featured-badge{border-radius:999px}

.personal-note{border:1px solid var(--ink);box-shadow:16px 16px 0 var(--ink)}
.social-links a{border:1px solid var(--ink);transition:.2s}.social-links a:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--lime)}
.contact{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--lime),#ddff82)}
.contact:after{content:"@";position:absolute;right:-30px;top:-130px;font-size:30rem;line-height:1;font-weight:900;color:rgba(17,19,16,.05);pointer-events:none}
.contact-inner{position:relative;z-index:2}
.contact-row{background:rgba(255,255,255,.14)}
.contact-row a{transition:.2s}.contact-row a:hover{background:var(--ink);color:#fff;padding-inline:28px}
.site-footer{padding-block:42px}

[data-theme="dark"] body{background-image:radial-gradient(circle at 8% 8%,rgba(200,255,61,.06),transparent 22%),radial-gradient(circle at 92% 30%,rgba(255,104,70,.05),transparent 20%)}
[data-theme="dark"] .primary-menu>li>a:hover{color:var(--ink);background:var(--paper)}
[data-theme="dark"] .tech-grid span,[data-theme="dark"] .post-card,[data-theme="dark"] .note-card{background:#1b1f1a}
[data-theme="dark"] .homelab{background:linear-gradient(180deg,#111410,#171b16)}
[data-theme="dark"] .timeline article:before{box-shadow:0 0 0 6px #111410}
[data-theme="dark"] .project{background:#1b1f1a}

@media(max-width:1100px){.primary-menu>li>a{padding-inline:9px;font-size:.69rem}.rack-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero{min-height:auto}.hero-grid:after{display:none}.terminal-card{max-width:500px}.section-label:after{max-width:160px}.nav{min-height:72px}}
@media(max-width:760px){.site-header .wrap{width:calc(100% - 20px)}.brand{font-size:1.25rem}.theme-toggle{width:35px;height:35px}.hero{padding-top:58px}.hero h1{margin-bottom:35px}.hero-lead{font-size:1rem}.actions{display:grid}.btn{width:100%}.terminal-card{box-shadow:10px 10px 0 var(--lime);margin-bottom:8px}.hero-marquee{margin-top:70px}.section{padding-block:75px}.section-label:after{max-width:none}.rack-grid{grid-template-columns:1fr;padding:16px;border-width:7px;box-shadow:9px 9px 0 var(--lime)}.rack-unit{min-height:145px}.project-grid,.blog-grid{gap:18px}.project-copy{padding:23px}.video-frame{box-shadow:10px 10px 0 var(--lime)}.contact h2{font-size:clamp(2.6rem,13vw,4rem)}}
