@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500&display=swap";
:root{--page-bg:#f2f1ec;--text:#111;--muted:#111111d6;--rule:#111111b8;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.18'/%3E%3C/svg%3E");--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--side-column-min-width:240px;--experience-column-width:440px;--font-body:"SUIT Variable", "Pretendard Variable", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-display:"Space Grotesk", "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html{background:var(--page-bg)}body{color:var(--text);font-family:var(--font-body), "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;background:radial-gradient(circle at 0 0,#ffffffeb,#f2f1ecdb),linear-gradient(#efeee9 0%,#f2f1ec 100%);margin:0}a{color:inherit;text-decoration:none}.site-shell{isolation:isolate;min-height:100svh;padding:clamp(1rem,3vw,2rem);position:relative;overflow:hidden}.site-shell:after{content:"";background-image:var(--noise);opacity:.3;mix-blend-mode:multiply;z-index:-1;pointer-events:none;position:absolute;inset:0}.resume-sheet{background:0 0;max-width:1080px;margin:0 auto;padding:clamp(1.5rem,4vw,3.75rem);position:relative}.resume-grid{grid-template-columns:minmax(var(--side-column-min-width), 1fr) minmax(0, var(--experience-column-width)) minmax(var(--side-column-min-width), 1fr);align-items:start;column-gap:clamp(1.5rem,3vw,2.4rem);display:grid}.reveal-block{opacity:0;animation:reveal-block .92s var(--ease-out-soft) forwards;transform:translateY(8px)}.reveal-block-1{animation-delay:.2s}.reveal-block-2{animation-delay:.4s}.reveal-block-3{animation-delay:.6s}.intro-column,.main-column,.skills-column{flex-direction:column;display:flex}.intro-column,.skills-column{gap:2rem}.intro-block h1{margin:0 0 .85rem;font-size:clamp(2rem,3vw,2.55rem);font-weight:500;line-height:.95;display:inline-block}.body-copy{gap:.45rem;display:grid}.body-copy p{color:var(--muted);margin:0;font-size:clamp(.82rem,.8vw,.94rem);line-height:1.45}.section-block{gap:1rem;display:grid}.section-header{border-bottom:1px solid var(--rule);font-family:var(--font-display), "Avenir Next", "Helvetica Neue", sans-serif;text-transform:uppercase;letter-spacing:.06em;grid-template-columns:1fr auto;align-items:start;gap:1rem;padding-bottom:.48rem;font-size:.72rem;line-height:1;display:grid}.contact-list,.skills-list{margin:0;padding:0;list-style:none}.contact-list{font-family:var(--font-display), "Avenir Next", "Helvetica Neue", sans-serif;text-transform:lowercase;gap:.72rem;font-size:.82rem;display:grid}.contact-list li:last-child{text-transform:uppercase}.contact-list a{transition:opacity .16s}.contact-list a:hover{opacity:.66}.experience-list{gap:1.45rem;display:grid}.experience-card,.education-card{gap:.4rem;display:grid}.meta-text{color:#111111b8;margin:0;font-size:.76rem;line-height:1.25}.experience-card h3,.education-card h3{letter-spacing:0;white-space:pre-line;margin:0;font-size:clamp(1.15rem,1.3vw,1.45rem);font-weight:500;line-height:1.08;display:inline-block}.hover-echo{width:fit-content;transition:color .24s var(--ease-out-soft), transform .24s var(--ease-out-soft);justify-self:start;display:inline-block}.hover-echo:hover{transform:translate(1px)}.role-text{color:#11111194;margin:0;font-size:clamp(.82rem,.8vw,.94rem);line-height:1.35}.skills-list{justify-items:start;gap:.84rem;padding-top:.25rem;font-size:.88rem;line-height:1.35;display:grid}@media (max-width:840px){.resume-grid{grid-template-columns:1fr;gap:2.4rem 0}.skills-list{justify-items:start}}@media (max-width:560px){.site-shell{padding:0}.resume-sheet{min-height:100svh;padding:1.4rem 1.2rem 2rem}.intro-block h1{font-size:2rem}.section-header{font-size:.68rem}}@media (prefers-reduced-motion:reduce){.reveal-block{opacity:1;animation:none;transform:none}.hover-echo{transition:none}}@media print{@page{size:A4;margin:0}html,body{background:#fff}.site-shell{min-height:auto;padding:0}.resume-sheet{width:210mm;max-width:none;min-height:297mm;padding:16mm 12mm}}@keyframes reveal-block{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
