:root{--hcs-navy:#131c2b;--hcs-navy-section:#16202f;--hcs-panel:#101927;--hcs-panel-bar:#1c2938;--hcs-panel-bar-alt:#1b2836;--hcs-light-bg:#f2ede4;--hcs-light-text:#1b2430;--hcs-light-label:#6b6454;--hcs-text-primary:#f0ebe2;--hcs-text-secondary:#c6d0da;--hcs-text-tertiary:#93a5b7;--hcs-sage:#a9bea3;--hcs-terracotta:#8f4e33;--hcs-decor:#5a6675;--hcs-nav-inactive:#b4bab4;--hcs-rule-soft:#f0ebe214;--hcs-rule-faint:#f0ebe21a;--hcs-rule:#f0ebe21f;--hcs-rule-strong:#f0ebe22e;--hcs-rule-control:#f0ebe247;--hcs-header-bg:#131c2beb;--hcs-font-sans:Archivo, Helvetica, sans-serif;--hcs-font-serif:"Instrument Serif", Georgia, serif;--hcs-font-mono:"IBM Plex Mono", monospace;--hcs-header-h:64px;--hcs-pad-x:clamp(20px, 3.4vw, 32px);--hcs-pad-x-wide:clamp(20px, 3.4vw, 52px);--hcs-container-home:1560px;--hcs-container-projects:1240px;--hcs-container-diagnosis:1000px;--hcs-container-detail:820px;--hcs-container-prose:760px}html{scroll-behavior:smooth}body{background:var(--hcs-navy);color:var(--hcs-text-primary);font-family:var(--hcs-font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}h1,h2,h3{font-family:var(--hcs-font-serif);font-weight:400!important}a{color:var(--hcs-text-primary);text-decoration:none}a:hover{color:var(--hcs-sage)}::selection{background:var(--hcs-sage);color:var(--hcs-navy)}a:focus-visible,button:focus-visible,textarea:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--hcs-sage);outline-offset:3px}.hcs-on-light a:focus-visible,.hcs-on-light button:focus-visible{outline-color:var(--hcs-light-text)}input[type=text],input[type=email],input[type=tel],textarea{font-size:16px}input[type=radio]{accent-color:var(--hcs-sage)}::-webkit-scrollbar{width:8px;height:6px}::-webkit-scrollbar-track{background:var(--hcs-navy-section)}::-webkit-scrollbar-thumb{background:#39495b}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes diagsweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}.hcs-container{max-width:var(--hcs-container,var(--hcs-container-projects));padding-inline:var(--hcs-pad,var(--hcs-pad-x));margin-inline:auto}.hcs-ctrl-1{font-family:var(--hcs-font-mono);letter-spacing:.03em;font-weight:600}.hcs-ctrl-1--upper{letter-spacing:.04em;text-transform:uppercase}.hcs-ctrl-2{font-family:var(--hcs-font-mono);letter-spacing:.09em;font-size:11px;font-weight:500}.hcs-ctrl-3{font-family:var(--hcs-font-mono);letter-spacing:.07em;font-weight:400}.hcs-btn{font-family:var(--hcs-font-mono);letter-spacing:.03em;color:var(--hcs-navy);background:var(--hcs-sage);cursor:pointer;white-space:nowrap;border:0;padding:13px 22px;font-size:12px;font-weight:600;display:inline-block}.hcs-btn:hover{background:var(--hcs-text-primary);color:var(--hcs-navy)}.hcs-btn--compact{letter-spacing:.04em;text-transform:uppercase;padding:9px 16px}.hcs-cta-primary{color:#131c2b;background:#a9bea3}.hcs-cta-primary:hover{color:#131c2b;background:#f0ebe2}.hcs-btn-ghost{font-family:var(--hcs-font-mono);letter-spacing:.09em;color:var(--hcs-text-tertiary);cursor:pointer;background:0 0;border:1px solid #f0ebe233;padding:14px 18px;font-size:11px;font-weight:500}.hcs-btn-plain{font-family:var(--hcs-font-mono);letter-spacing:.07em;color:var(--hcs-text-tertiary);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:11px;font-weight:400}.hcs-label{font-family:var(--hcs-font-mono);letter-spacing:.13em;color:var(--hcs-text-tertiary);font-size:11px;font-weight:500}.hcs-kicker{font-family:var(--hcs-font-mono);letter-spacing:.16em;color:var(--hcs-text-tertiary);font-size:11px}.hcs-divider-v{background:var(--hcs-rule-strong);flex-shrink:0;width:1px;height:14px}.hcs-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hcs-header{z-index:80;background:var(--hcs-header-bg);border-bottom:1px solid var(--hcs-rule);backdrop-filter:blur(8px)saturate(140%);position:sticky;top:0}.hcs-header__bar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding-block:10px;display:flex}.hcs-header__brand{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.hcs-header[data-variant=b] .hcs-header__brand{gap:8px}.hcs-logo-mark{flex-shrink:0;width:30px;height:30px}.hcs-logo-text{align-items:baseline;gap:10px;min-width:0;display:flex;overflow:hidden}.hcs-header[data-variant=b] .hcs-logo-text{gap:8px}.hcs-logo-word{letter-spacing:-.02em;white-space:nowrap;font-size:17px;font-weight:600}.hcs-header[data-variant=b] .hcs-logo-word{font-size:16px}.hcs-logo-eyebrow{font-family:var(--hcs-font-mono);letter-spacing:.16em;color:var(--hcs-text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.hcs-header[data-variant=b] .hcs-logo-eyebrow{font-size:9px}.hcs-header__nav{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:clamp(20px,2.2vw,32px);display:flex}.hcs-header[data-variant=b] .hcs-header__nav{gap:22px}.hcs-header__link{font-family:var(--hcs-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hcs-nav-inactive);white-space:nowrap;font-size:12px;transition:color .14s}.hcs-header__link:hover{color:var(--hcs-text-primary)}.hcs-header__link[aria-current=page]{color:var(--hcs-text-primary);border-bottom:1px solid var(--hcs-text-primary);padding-bottom:2px}.hcs-header[data-variant=b] .hcs-header__link{letter-spacing:.1em;text-transform:none;color:var(--hcs-text-tertiary)}.hcs-header[data-variant=b] .hcs-header__link:hover{color:var(--hcs-text-primary)}.hcs-lang{font-family:var(--hcs-font-mono);letter-spacing:.07em;flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.hcs-lang__btn{cursor:pointer;color:var(--hcs-text-tertiary);font-family:inherit;font-size:inherit;letter-spacing:inherit;background:0 0;border:none;padding:0}.hcs-lang__btn[aria-current=true]{color:var(--hcs-text-primary);cursor:default}.hcs-lang__sep{color:var(--hcs-decor)}.hcs-header__cta{flex-shrink:0;font-size:12px}.hcs-header__toggle{border:1px solid var(--hcs-rule-control);width:40px;height:40px;color:var(--hcs-text-primary);font-family:var(--hcs-font-mono);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:none}.hcs-header__panel{padding:8px var(--hcs-pad,var(--hcs-pad-x)) 16px;border-top:1px solid var(--hcs-rule);flex-direction:column;gap:2px;display:none}.hcs-header__panel-link{font-family:var(--hcs-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hcs-text-secondary);border-bottom:1px solid var(--hcs-rule-soft);padding:12px 0;font-size:13px;transition:color .14s}.hcs-header__panel-link:hover,.hcs-header__panel-link[aria-current=page]{color:var(--hcs-text-primary)}.hcs-header__panel-link.is-last{border-bottom:0}.hcs-header__panel-lang{border-top:1px solid var(--hcs-rule);align-items:center;gap:8px;margin-top:6px;padding:14px 0;display:flex}.hcs-header__panel-lang .hcs-lang__btn{font-size:13px}.hcs-header__panel-lang-label{font-family:var(--hcs-font-mono);letter-spacing:.08em;color:var(--hcs-text-tertiary);font-size:12px}.hcs-header__panel-spacer{flex:1}.hcs-header__panel-cta{text-align:center;margin-top:8px;padding:12px 16px;font-size:13px}@media (width<=999px){.hcs-header[data-variant=a] .hcs-header__nav{display:none}.hcs-header[data-variant=a] .hcs-header__toggle,.hcs-header[data-variant=a] .hcs-header__panel[data-open=true]{display:flex}.hcs-header[data-variant=a] .hcs-logo-text{display:none}.hcs-header[data-variant=a] .hcs-logo-mark{width:28px;height:28px}}@media (width<=640px){.hcs-header[data-variant=b] .hcs-header__nav{display:none}.hcs-header[data-variant=b] .hcs-header__toggle,.hcs-header[data-variant=b] .hcs-header__panel[data-open=true]{display:flex}.hcs-header[data-variant=b] .hcs-logo-text{display:none}.hcs-header[data-variant=b] .hcs-logo-mark{width:28px;height:28px}}.hcs-footer{background:var(--hcs-navy)}.hcs-footer__closing{border-bottom:1px solid var(--hcs-rule-faint);padding-block:clamp(40px,6vh,64px) clamp(28px,4vh,44px)}.hcs-footer__title{letter-spacing:-.01em;margin:0;font-size:clamp(20px,2vw,28px)}.hcs-footer__title em{font-style:italic}.hcs-footer__lede{font-family:var(--hcs-font-serif);color:var(--hcs-text-primary);max-width:44ch;margin:14px 0 0;font-size:clamp(19px,2vw,26px);font-weight:400;line-height:1.3}.hcs-footer__about{border-top:1px solid var(--hcs-rule);grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(20px,3vw,48px);margin-top:clamp(24px,4vh,40px);display:grid}.hcs-footer__about-item{padding-top:18px}.hcs-footer__about-label{margin-bottom:8px}.hcs-footer__about-text{color:var(--hcs-text-secondary);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.hcs-footer__grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:clamp(28px,4vw,48px);padding-block:clamp(36px,5vh,56px) 24px;display:grid}.hcs-footer__brand{align-items:center;gap:12px;display:flex}.hcs-footer__brand img{flex-shrink:0;width:44px;height:44px}.hcs-footer__brand-word{letter-spacing:-.02em;font-size:17px;font-weight:600}.hcs-footer__col-label{margin-bottom:12px}.hcs-footer__links{flex-direction:column;gap:8px;display:flex}.hcs-footer__links a{color:var(--hcs-text-secondary);font-size:14px;transition:color .14s}.hcs-footer__links a:hover{color:var(--hcs-text-primary)}.hcs-footer__bottom{border-top:1px solid var(--hcs-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-block:20px 32px;display:flex}.hcs-footer__bottom-right{align-items:center;gap:24px;display:flex}.hcs-footer__meta{font-family:var(--hcs-font-mono);letter-spacing:.14em;color:var(--hcs-text-tertiary);font-size:11px}
