@import "https://fonts.googleapis.com/css2?family=Archivo:wght@500;700;900&display=swap";@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css";:root{--ink:#0a0a0a;--paper:#fff;--muted:#8a8a8a;--line:#ffffff24;--line-strong:#fff6;--accent:#e8e8e8;--font-display:"Archivo", system-ui, sans-serif;--font-body:"Pretendard", system-ui, sans-serif;--pad-x:clamp(1.25rem, 5vw, 6rem);--section-y:clamp(5rem, 12vw, 10rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.section{padding:var(--section-y) var(--pad-x);max-width:1440px;margin:0 auto}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:900;line-height:.95}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.header{z-index:100;padding:1.1rem var(--pad-x);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.header--solid{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line);background:#0a0a0acc}.header__logo{letter-spacing:.02em;font-size:1.05rem;font-weight:900}.header__nav{color:var(--accent);gap:1.75rem;font-size:.9rem;display:flex}.header__nav a{padding-bottom:2px;position:relative}.header__nav a:after{content:"";background:var(--paper);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.header__nav a:hover:after{width:100%}@media (width<=680px){.header__nav{gap:1rem;font-size:.78rem}}.footer{padding:3rem var(--pad-x);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer__mark{font-size:.85rem}.footer__copy{color:var(--muted);font-size:.85rem}.hero{min-height:100svh;padding:6rem var(--pad-x) 3rem;flex-direction:column;justify-content:center;max-width:1440px;margin:0 auto;display:flex;position:relative}.hero__eyebrow{color:var(--muted);margin-bottom:1.75rem;font-size:.95rem}.hero__title{text-transform:uppercase;font-size:clamp(3.5rem,15vw,11rem)}.hero__lead{max-width:46ch;color:var(--accent);margin-top:2rem;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.hero__cta{border:1px solid var(--line-strong);border-radius:999px;margin-top:2.5rem;padding:.85rem 2rem;font-size:.95rem;transition:background .25s,color .25s;display:inline-block}.hero__cta:hover{background:var(--paper);color:var(--ink)}.hero__scroll{bottom:2rem;right:var(--pad-x);color:var(--muted);writing-mode:vertical-rl;letter-spacing:.15em;font-size:.8rem;position:absolute}.section-title{margin-bottom:clamp(2.5rem,6vw,5rem)}.section-title__row{border-bottom:1px solid var(--line);align-items:baseline;gap:1.25rem;padding-bottom:1.25rem;display:flex}.section-title__index{font-family:var(--font-display);color:var(--muted);flex-shrink:0;font-size:1rem;font-weight:700}.section-title__text{text-transform:uppercase;font-size:clamp(2.25rem,7vw,5rem)}.section-title__sub{color:var(--muted);max-width:60ch;margin-top:1.25rem;font-size:1rem}.about__grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;display:grid}.about__col p{color:var(--accent);line-height:1.7}.about__label{font-family:var(--font-display);border-bottom:1px solid var(--line);margin-bottom:.9rem;padding-bottom:.9rem;font-size:1.15rem;font-weight:700}@media (width<=820px){.about__grid{grid-template-columns:1fr;gap:2rem}}.loader{color:var(--muted);padding:2rem 0;font-size:.95rem}.loader--error{color:#ff6b6b}.experience__list{list-style:none}.experience__item{border-top:1px solid var(--line);grid-template-columns:200px 1fr;gap:2rem;padding:2rem 0;display:grid}.experience__item:last-child{border-bottom:1px solid var(--line)}.experience__period{color:var(--muted);font-family:var(--font-display);padding-top:.3rem;font-size:.95rem;font-weight:500}.experience__role{font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1.15}.experience__company{color:var(--accent);margin-top:.3rem}.experience__desc{color:var(--muted);max-width:65ch;margin-top:.75rem;line-height:1.6}@media (width<=680px){.experience__item{grid-template-columns:1fr;gap:.5rem}}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.5rem;display:grid}.skills__category{font-family:var(--font-display);border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:.85rem;font-size:1.1rem;font-weight:700}.skills__items{list-style:none}.skills__item{color:var(--accent);border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:.6rem 0;display:flex}.skills__level{color:var(--muted);font-size:.85rem}.card{color:var(--paper);display:block}.card__media{aspect-ratio:4/3;background:#141414;position:relative;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.card__media-fallback{background:linear-gradient(135deg,#1a1a1a,#0d0d0d);width:100%;height:100%}.card--link:hover .card__media img{transform:scale(1.05)}.card__body{padding-top:1.1rem}.card__meta{color:var(--muted);letter-spacing:.02em;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;display:flex}.card__title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.15}.card__desc{color:var(--muted);margin-top:.5rem;font-size:.92rem;line-height:1.55}.projects__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:clamp(1.5rem,4vw,3rem);display:grid}@media (width<=520px){.projects__grid{grid-template-columns:1fr}}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.contact__lead{text-transform:uppercase;font-size:clamp(2rem,6vw,4rem)}.contact__links{list-style:none}.contact__links li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.25rem 0;font-size:1.1rem;display:flex}.contact__links li:last-child{border-bottom:1px solid var(--line)}.contact__label{color:var(--muted);font-family:var(--font-display);font-size:.9rem;font-weight:500}.contact__links a:hover{text-underline-offset:4px;text-decoration:underline}@media (width<=720px){.contact__grid{grid-template-columns:1fr}}
