@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@700&family=Syne:wght@700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#f0edcc;--bg2:#e8e5c0;--text:#02343f;--accent:#02343f;--on-accent:#f0edcc;--muted:#02343fb8;--border:#02343f24;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*,:before,:after{box-sizing:border-box;-webkit-user-select:text;user-select:text;margin:0;padding:0}html{scroll-behavior:smooth}section[id]{scroll-margin-top:56px}body{background:var(--bg);color:var(--text);font-family:JetBrains Mono,monospace;overflow-x:hidden}::selection{background:var(--accent);color:var(--on-accent)}a{color:inherit;text-decoration:none}#root{min-height:100vh}body:after{content:"";opacity:.035;pointer-events:none;z-index:9998;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");background-size:300px 300px;position:fixed;inset:0}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}nav{z-index:100;-webkit-backdrop-filter:blur(12px);border-top:3px solid var(--text);background:#f0edcceb;border-bottom:2px solid #02343f38;justify-content:space-between;align-items:center;height:56px;padding:0 48px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 24px #02343f14}.nav-logo{letter-spacing:.1em;color:var(--text);font-family:Syne,sans-serif;font-size:10px;font-weight:800}.nav-links{gap:40px;display:flex}.nav-tools{align-items:center;gap:24px;display:flex}.nav-language{letter-spacing:.12em;border:1px solid var(--border);color:var(--text);padding:6px 8px;font-size:10px;font-weight:500}.nav-language:hover,.nav-language:focus-visible{background:var(--accent);color:var(--on-accent)}.nav-link{letter-spacing:.15em;color:#02343fb3;transition:color .12s var(--ease-out);font-size:10px}@media (hover:hover) and (pointer:fine){.nav-link:hover{color:var(--text)}}.nav-status{letter-spacing:.1em;color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.status-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #22c55e80}50%{opacity:.7;box-shadow:0 0 0 5px #22c55e00}}@media (width<=768px){nav{padding:0 24px}.nav-links{gap:24px}.nav-status{display:none}}@media (width<=600px){.nav-links{display:none}.nav-hamburger{display:flex}}.nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;margin-right:-8px;padding:8px;display:none}.nav-hamburger-line{background:var(--text);transform-origin:50%;width:22px;height:2px;transition:transform .24s var(--ease-out), opacity .18s, width .2s var(--ease-out);display:block}.nav-hamburger-line:nth-child(2){width:15px}.nav-hamburger--open .nav-hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.nav-hamburger--open .nav-hamburger-line:nth-child(2){opacity:0;width:0}.nav-hamburger--open .nav-hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=480px){.nav-links{display:none}.nav-hamburger{display:flex}}.nav-mobile-backdrop{z-index:98;position:fixed;inset:56px 0 0}.nav-mobile-menu{z-index:99;-webkit-backdrop-filter:blur(12px);border-bottom:2px solid var(--text);animation:navMenuDown .2s var(--ease-out);background:#f0edccf7;flex-direction:column;display:flex;position:fixed;top:56px;left:0;right:0}@keyframes navMenuDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-mobile-link{letter-spacing:.2em;min-height:52px;color:var(--text);border-bottom:1px solid var(--border);align-items:center;padding:0 24px;font-family:Syne,sans-serif;font-size:11px;font-weight:800;transition:background .1s,color .1s;display:flex}.nav-mobile-link:last-of-type{border-bottom:none}.nav-mobile-link:active{background:var(--accent);color:var(--on-accent)}.nav-mobile-status{letter-spacing:.1em;color:var(--muted);border-top:1px solid var(--border);align-items:center;gap:8px;padding:14px 24px;font-size:10px;display:flex}#hero{border-bottom:1px solid var(--border);grid-template-columns:1fr 300px;min-height:100vh;padding-top:56px;display:grid;position:relative}#hero:before{content:"";opacity:.07;pointer-events:none;z-index:0;background:url(/lain-bg.gif) 50%/cover no-repeat;position:absolute;inset:0}.hero-main{z-index:1;border-right:1px solid var(--border);flex-direction:column;justify-content:flex-end;align-items:flex-start;min-width:0;padding:40px 48px 52px;display:flex;position:relative}.hero-name{-webkit-user-select:none;user-select:none;letter-spacing:-.035em;color:var(--text);font-family:Syne,sans-serif;font-size:clamp(52px,10.5vw - 44px,158px);font-weight:800;line-height:.88}.hero-sidebar{z-index:1;flex-direction:column;padding:0 36px 52px 20px;display:flex;position:relative}.hero-photo{border-bottom:1px solid var(--border);flex-shrink:0;width:calc(100% + 56px);margin:0 -36px 0 -20px;display:block}.hero-info-row{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:14px 0;display:flex}.hero-info-label{letter-spacing:.2em;color:var(--muted);text-transform:uppercase;font-size:11px}.hero-info-val{color:var(--text);font-size:13px;line-height:1.55}.hero-info-val strong{font-weight:500}.hero-info-status{align-items:center;gap:8px;display:flex}.hero-quote{color:var(--muted);flex-direction:column;gap:10px;margin-top:28px;font-size:12px;line-height:1.85;display:flex}.hero-quote-sig{color:var(--text);letter-spacing:.04em;font-size:11px;display:block}@media (width<=960px){#hero{grid-template-rows:auto auto;grid-template-columns:1fr}#hero:before{opacity:.11;background-position:70%}}@media (width<=768px){#hero:before{display:none}.hero-main{border-right:none;justify-content:flex-end;padding:clamp(80px,20vh,140px) 20px 36px}.hero-name{font-size:clamp(40px,9.7vw,96px)}.hero-sidebar{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:start;gap:0 20px;padding:0 20px 28px;display:grid}.hero-photo{object-fit:cover;object-position:center 20%;grid-column:1/-1;width:calc(100% + 40px);max-height:42vh;margin:0 -20px}.hero-quote{grid-column:1/-1;margin-top:16px}}@media (width<=560px){.hero-sidebar{grid-template-columns:1fr}.hero-name{font-size:clamp(29px,9.5vw,52px)}.hero-photo{object-fit:contain;object-position:bottom center;border-bottom:none;width:62%;height:auto;max-height:none;margin:0 auto -8px}}@media (width<=480px){.hero-main{justify-content:flex-start;padding:48px 20px 28px}.hero-info-row{padding:10px 0}.hero-quote{margin-top:20px;font-size:12px}}.marquee-wrap{border-top:1px solid var(--text);border-bottom:1px solid var(--text);background:var(--text);padding:14px 0;overflow:hidden}.marquee-track{white-space:nowrap;width:max-content;animation:28s linear infinite marquee;display:flex}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{color:#f0edcc6b;letter-spacing:.15em;text-transform:uppercase;padding:0 32px;font-size:11px}.marquee-item.accent{background:var(--on-accent);color:var(--accent);padding:0 8px}.s-inner{max-width:1200px;margin:0 auto;padding:100px 48px}@media (width<=768px){.s-inner{padding:72px 24px}}@media (width<=480px){.s-inner{padding:56px 20px}}.s-header{margin-bottom:56px}.s-title{-webkit-user-select:none;user-select:none;letter-spacing:-.03em;color:var(--text);font-family:Syne,sans-serif;font-size:clamp(36px,6vw,72px);font-weight:800;line-height:1}.s-title em{color:#02343f17;font-style:normal}@media (width<=480px){.s-title{font-size:clamp(24px,7vw,36px)}}@media (width<=350px){#skills .s-title{font-size:21px}}#skills,#about{border-top:1px solid var(--border)}.about-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:48px;display:grid}.about-inner .s-header{grid-column:1/-1}.about-lead h3{letter-spacing:-.035em;font-family:Syne,sans-serif;font-size:clamp(26px,3.2vw,46px);line-height:1.12}.about-lead p{max-width:40ch;color:var(--muted);margin-top:24px;font-size:13px;line-height:1.8}.about-grid{border-top:1px solid var(--border)}.about-item{border-bottom:1px solid var(--border);grid-template-columns:110px 1fr;gap:20px;padding:20px 0;display:grid}.about-item span{letter-spacing:.08em;font-size:11px;font-weight:500}.about-item p{color:var(--muted);font-size:12px;line-height:1.7}@media (width<=768px){.about-inner{grid-template-columns:1fr;gap:32px}.about-item{grid-template-columns:90px 1fr}}#experience{border-top:1px solid var(--border)}.experience-header{justify-content:space-between;align-items:end;gap:32px;display:flex}.experience-header p{max-width:36ch;color:var(--muted);font-size:12px;line-height:1.75}.experience-list{border-top:1px solid var(--text)}.experience-entry{border-bottom:1px solid var(--border);grid-template-columns:minmax(155px,1fr) minmax(0,3fr);gap:40px;padding:38px 0 44px;display:grid}.experience-period{letter-spacing:.12em;color:var(--muted);padding-top:8px;font-size:11px}.experience-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.experience-heading h3{letter-spacing:-.025em;font-family:Syne,sans-serif;font-size:clamp(22px,2.5vw,34px);line-height:1.1}.experience-heading span{color:var(--muted);text-align:right;font-size:11px}.experience-summary{max-width:72ch;margin-top:20px;font-size:13px;line-height:1.8}.experience-content ul{gap:10px;margin:22px 0 0;padding-left:18px;display:grid}.experience-content li{color:var(--muted);font-size:12px;line-height:1.7}.experience-content li::marker{color:var(--text)}.experience-education{grid-template-columns:minmax(155px,1fr) minmax(0,3fr);gap:40px;padding-top:40px;display:grid}.experience-education h3{letter-spacing:.15em;font-size:11px;font-weight:500}.education-row{border-bottom:1px solid var(--border);grid-template-columns:110px minmax(180px,1fr) minmax(0,1fr);gap:20px;padding:14px 0;font-size:11px;line-height:1.6;display:grid}.education-row:first-child{padding-top:0}.education-row span{color:var(--muted)}.education-row strong{font-weight:500}@media (width<=900px){.experience-header{display:block}.experience-header p{margin-top:20px}.experience-heading{display:block}.experience-heading span{text-align:left;margin-top:10px;display:block}.education-row{grid-template-columns:100px 1fr}.education-row span:last-child{grid-column:2}}@media (width<=600px){.experience-entry,.experience-education{grid-template-columns:1fr;gap:12px}.experience-entry{padding:28px 0 34px}.experience-content ul{margin-top:18px}.education-row{grid-template-columns:1fr;gap:4px}.education-row span:last-child{grid-column:1}}.skills-block{margin-bottom:52px}.skills-block:last-child{margin-bottom:0}.skills-block-label{letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:20px;font-size:11px}.skill-pills{flex-wrap:wrap;gap:10px;display:flex}.skill-pill{border:1px solid var(--border);color:var(--text);letter-spacing:.01em;cursor:default;transition:background .14s var(--ease-out), color .14s var(--ease-out), border-color .14s var(--ease-out);padding:10px 22px;font-size:13px}@media (width<=480px){.skill-pill{padding:8px 16px;font-size:12px}.skills-block{margin-bottom:36px}}@media (hover:hover) and (pointer:fine){.skill-pill:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}}#projects{border-top:1px solid var(--border)}.projects-header{justify-content:space-between;align-items:end;gap:32px;display:flex}.projects-header p{max-width:29ch;color:var(--muted);font-size:12px;line-height:1.7}.proj-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}@media (width<=768px){.proj-grid{grid-template-columns:1fr}}@media (width<=480px){.proj-card{gap:14px;padding:28px 20px}}.proj-card{background:var(--bg);text-align:left;font:inherit;cursor:default;width:100%;min-height:385px;transition:background .2s var(--ease-out);border:0;flex-direction:column;gap:20px;padding:48px;display:flex}@media (hover:hover) and (pointer:fine){.proj-card:hover{background:var(--accent)}.proj-card:hover .proj-card-num{color:#f0edccd9}.proj-card:hover .proj-card-name{color:var(--on-accent)}.proj-card:hover .proj-card-desc{color:#f0edcce6}.proj-card:hover .proj-card-tag{color:#f0edccd9}.proj-card:hover .proj-card-link{color:var(--bg);opacity:1;border-color:var(--bg)}.proj-card:hover .proj-card-badge{color:var(--on-accent);background:#f0edcc1f}}.proj-card-top{justify-content:space-between;align-items:center;display:flex}.proj-card-num{letter-spacing:.18em;color:var(--muted);font-size:11px;transition:color .2s}.proj-card-category,.modal-category{letter-spacing:.08em;text-align:right;color:var(--muted);font-size:11px}.proj-card-badge{letter-spacing:.1em;color:var(--text);background:#02343f12;padding:4px 10px;font-size:11px;transition:background .2s,color .2s}.proj-card-name{letter-spacing:-.02em;color:var(--text);font-family:Syne,sans-serif;font-size:clamp(17px,4.5vw,22px);font-weight:700;line-height:1.15;transition:color .2s}.proj-card-status{width:fit-content;color:var(--text);letter-spacing:.04em;border:1px solid;align-self:flex-start;padding:5px 9px;font-size:11px;line-height:1.3}.proj-card-desc{color:var(--muted);font-size:13px;line-height:1.85;transition:color .2s}.proj-card-impact{border-top:1px solid var(--border);color:var(--text);gap:12px;margin-top:auto;padding-top:18px;font-size:11px;line-height:1.6;display:flex}.proj-card-impact span{font-size:18px;line-height:1}.proj-card-bottom{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;display:flex}.proj-card-tags{flex-wrap:wrap;gap:8px;display:flex}.proj-card-link{letter-spacing:.08em;color:var(--text);white-space:nowrap;opacity:.7;border:1px solid;border-radius:4px;padding:3px 8px;font-size:10px;text-decoration:none;transition:opacity .15s,color .15s,border-color .15s}.proj-card-link .link-arrow{color:#22c55e;transition:text-shadow .15s}.proj-card-link:hover{opacity:1;border-color:#22c55e}.proj-card-link:hover .link-arrow{text-shadow:0 0 8px #22c55eb3}.proj-card-tag{letter-spacing:.08em;color:var(--muted);font-size:11px;transition:color .2s}.proj-card--clickable{cursor:pointer}.proj-card--clickable:focus-visible{outline:2px solid var(--text);outline-offset:-4px}.proj-card-more{letter-spacing:.1em;color:var(--muted);flex-shrink:0;margin-left:auto;font-size:11px;transition:color .2s}.proj-card--lead{background:var(--text)}.proj-card--lead .proj-card-num,.proj-card--lead .proj-card-category,.proj-card--lead .proj-card-tag{color:#f0edccd9}.proj-card--lead .proj-card-name,.proj-card--lead .proj-card-impact,.proj-card--lead .proj-card-more,.proj-card--lead .proj-card-status{color:var(--on-accent)}.proj-card--lead .proj-card-desc{color:#f0edcce6}.proj-card--lead .proj-card-impact{border-color:#f0edcc33}.proj-card--lead:focus-visible{outline-color:var(--on-accent)}@media (hover:hover) and (pointer:fine){.proj-card:hover .proj-card-category,.proj-card:hover .proj-card-impact,.proj-card:hover .proj-card-status{color:var(--on-accent)}.proj-card:hover .proj-card-impact{border-color:#f0edcc33}.proj-card--lead:hover{background:#075063}}@media (width<=768px){.projects-header{display:block}.projects-header p{margin-top:20px}}@media (width<=480px){.proj-card{min-height:320px;padding:28px 20px}.proj-card-category{max-width:54%}}@media (hover:hover) and (pointer:fine){.proj-card--clickable:hover .proj-card-more{color:var(--on-accent)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeIn .18s var(--ease-out);background:#02343f8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--bg);border:1px solid var(--border);width:100%;max-width:680px;max-height:88vh;animation:slideUp .22s var(--ease-out);border-radius:4px;flex-direction:column;gap:28px;padding:48px;display:flex;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-panel::-webkit-scrollbar{width:3px}.modal-panel::-webkit-scrollbar-thumb{background:var(--muted)}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1;transition:color .15s;position:absolute;top:20px;right:20px}.modal-close:hover{color:var(--text)}.modal-header{align-items:center;gap:12px;display:flex}.modal-num{letter-spacing:.18em;color:var(--muted);font-size:11px}.modal-title{letter-spacing:-.02em;color:var(--text);font-family:Syne,sans-serif;font-size:clamp(22px,5vw,32px);font-weight:800;line-height:1.1}.modal-overview{color:var(--text);opacity:.75;font-size:13px;line-height:1.9}.modal-overview+.modal-overview{margin-top:14px}.modal-section-label{letter-spacing:.14em;color:var(--muted);margin-bottom:14px;font-size:11px}.modal-list{flex-direction:column;gap:8px;list-style:none;display:flex}.modal-list li{color:var(--text);padding-left:16px;font-size:12px;line-height:1.6;position:relative}.modal-list li:before{content:"→";color:var(--muted);font-size:11px;position:absolute;left:0}.modal-stack-grid{flex-direction:column;gap:14px;display:flex}.modal-stack-group{align-items:flex-start;gap:16px;display:flex}.modal-stack-label{letter-spacing:.1em;color:var(--muted);flex-shrink:0;min-width:80px;padding-top:2px;font-size:11px}.modal-stack-tags{flex-wrap:wrap;gap:6px;display:flex}.modal-link{letter-spacing:.08em;color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:6px;width:fit-content;padding-bottom:2px;font-size:10px;transition:border-color .15s;display:inline-flex}.modal-link:hover{border-color:#22c55e}.modal-link:hover .link-arrow{text-shadow:0 0 8px #22c55eb3}@media (width<=600px){.modal-panel{padding:28px 20px}.modal-stack-group{flex-direction:column;gap:6px}.modal-stack-label{min-width:unset}}.lab-page{-webkit-user-select:text;user-select:text;min-height:100vh;padding-top:56px}.log-inner{max-width:860px;margin:0 auto;padding:80px 48px 120px}@media (width<=768px){.log-inner{padding:60px 24px 80px}}@media (width<=480px){.log-inner{padding:48px 20px 64px}}.log-header{align-items:baseline;gap:28px;margin-bottom:72px;display:flex}.log-title{letter-spacing:-.02em;color:var(--text);font-family:DM Sans,sans-serif;font-size:clamp(48px,8vw,96px);font-weight:700;line-height:1.1}.log-sub{color:var(--muted);letter-spacing:.05em;font-size:12px}@media (width<=560px){.log-header{flex-direction:column;gap:10px}}.log-feed{border-top:1px solid var(--border);flex-direction:column;display:flex}.log-entry{border-bottom:1px solid var(--border)}.log-entry-head{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:24px;width:100%;padding:28px 0;display:flex}@media (width<=480px){.log-entry-head{gap:16px;padding:20px 0}}@media (hover:hover) and (pointer:fine){.log-entry-head:hover .log-entry-title{opacity:.5}}.log-entry-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.log-entry-meta{align-items:center;gap:10px;display:flex}.log-date{letter-spacing:.14em;color:var(--muted);font-size:11px}.log-time{letter-spacing:.1em;color:var(--muted);font-size:11px}.log-entry-title{letter-spacing:-.01em;color:var(--text);transition:opacity .14s var(--ease-out);overflow-wrap:break-word;word-break:break-word;font-family:DM Sans,sans-serif;font-size:clamp(18px,4vw,26px);font-weight:700;line-height:1.3}.log-entry-tags{flex-wrap:wrap;gap:8px;display:flex}.log-tag{letter-spacing:.12em;color:var(--muted);font-size:11px}.log-toggle{color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding-top:12px;font-family:JetBrains Mono,monospace;font-size:18px;display:flex}.log-entry-body{animation:logOpen .2s var(--ease-out);flex-direction:column;gap:32px;padding:4px 56px 40px 0;display:flex}@keyframes logOpen{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.log-entry-body{padding:4px 0 28px}}@media (prefers-reduced-motion:reduce){.log-entry-body{animation:none}}.log-excerpt{color:var(--text);opacity:.85;-webkit-user-select:text;user-select:text;font-size:13px;line-height:1.9}.log-sections{flex-direction:column;gap:24px;display:flex}.log-section{flex-direction:column;gap:7px;display:flex}.log-section-label{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:11px}.log-section-text{color:var(--text);opacity:.8;-webkit-user-select:text;user-select:text;font-size:13px;line-height:1.9}#contact{border-top:1px solid var(--border)}.contact-inner{grid-template-columns:1fr 1fr;align-items:end;gap:0;padding:80px 48px 100px;display:grid}@media (width<=768px){.contact-inner{grid-template-columns:1fr;gap:48px;padding:64px 24px 80px}}@media (width<=480px){.contact-inner{padding:48px 20px 64px}}.contact-heading{-webkit-user-select:none;user-select:none;letter-spacing:-.04em;color:var(--text);text-wrap:balance;font-family:Syne,sans-serif;font-size:clamp(36px,6vw,80px);font-weight:800;line-height:1}.contact-availability{letter-spacing:.1em;color:var(--muted);margin-top:20px;font-size:12px}.contact-right{flex-direction:column;gap:28px;padding-bottom:4px;display:flex}.contact-email{color:var(--text);letter-spacing:-.02em;transition:border-color .16s var(--ease-out);border-bottom:1px solid #0000;width:fit-content;font-family:Syne,sans-serif;font-size:clamp(18px,2.5vw,28px);font-weight:700}@media (hover:hover) and (pointer:fine){.contact-email:hover{border-color:var(--text)}}.contact-socials{flex-direction:column;gap:10px;display:flex}.contact-social{color:#02343fb3;transition:color .16s var(--ease-out);align-items:center;gap:14px;width:fit-content;font-family:JetBrains Mono,monospace;font-size:14px;display:flex}.contact-social-label{letter-spacing:.12em;color:var(--muted);min-width:18px;font-size:11px}@media (hover:hover) and (pointer:fine){.contact-social:hover{color:var(--text)}}.footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 48px;display:flex}.footer-copy,.footer-built,.footer-unit{color:var(--muted);font-size:11px}.footer-unit{letter-spacing:.1em}.footer-built span{background:var(--accent);color:var(--on-accent);padding:1px 5px}@media (width<=600px){.footer{flex-direction:column;align-items:flex-start;gap:6px;padding:20px 24px}}
