:root{--bg:#f1f0eb;--ink:#171714;--muted:#6e6e66;--line:#cac9c1;--acid:#d9ff43;--dark:#1d1f1a;--sans:"Manrope","Noto Sans KR",sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);word-break:keep-all;-webkit-font-smoothing:antialiased}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:30}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);font-family:var(--mono);font-size:13px}.brand-copy{font-family:var(--mono);font-size:9px;line-height:1.45;letter-spacing:.08em}.nav{display:flex;gap:34px}.nav a,.footer a{color:inherit;text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);transition:right .3s}.nav a:hover:after{right:0}.menu-toggle{display:none;background:none;border:0;padding:10px}.hero{min-height:calc(100vh - 88px);padding:11vh 4vw 4vw;display:flex;flex-direction:column}.hero-kicker,.eyebrow,.section-index{font-family:var(--mono);font-size:11px;letter-spacing:.1em}.hero-title{font-size:clamp(3.2rem,8vw,9rem);font-weight:500;line-height:.98;letter-spacing:-.07em;margin:7vh 0 5vh}.hero-title span{display:block}.hero-title span:last-child{text-align:right}.hero-title em,.technology em,.closing em{font-family:Georgia,serif;font-weight:400}.hero-bottom{display:grid;grid-template-columns:1fr minmax(280px,520px) 140px;gap:4vw;align-items:end}.hero-description{grid-column:2;font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.75;margin:0}.scroll-link{grid-column:3;color:inherit;text-decoration:none;border:1px solid var(--ink);border-radius:50%;width:94px;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font:10px var(--mono);transition:.3s}.scroll-link:hover{background:var(--ink);color:var(--bg);transform:rotate(-8deg)}.scroll-link svg{width:20px;fill:none;stroke:currentColor}.hero-stats{margin-top:auto;padding-top:7vh;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.hero-stats div{display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line);padding-left:2vw}.hero-stats div:first-child{padding-left:0}.hero-stats div:last-child{border:0}.hero-stats strong{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.06em;font-weight:500}.hero-stats strong span{font-size:.4em;letter-spacing:0}.hero-stats small{font:9px var(--mono);letter-spacing:.08em;color:var(--muted)}.section-pad{padding:10vw 4vw}.manifesto{background:var(--dark);color:#f4f3ed}.manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;margin-top:8vw}.section-title{font-size:clamp(2.4rem,5.2vw,6rem);line-height:1.12;letter-spacing:-.06em;font-weight:500;margin:0}.manifesto-copy{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.9;color:#b9baaf;padding-top:1vw}.manifesto-copy p{margin:0 0 2em}.section-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.section-index{color:var(--muted)}.capability-list{margin-top:5vw;border-top:1px solid var(--line)}.capability{display:grid;grid-template-columns:80px 1fr 1fr 60px;align-items:center;gap:3vw;padding:2.4vw 1vw;border-bottom:1px solid var(--line);transition:.35s}.capability:hover{padding-left:2vw;background:#e9e8e1}.cap-number{font:11px var(--mono);color:var(--muted)}.capability h3{font-size:clamp(1.7rem,3vw,3.5rem);line-height:1.05;letter-spacing:-.05em;font-weight:500;margin:0}.capability p{line-height:1.7;color:var(--muted);max-width:460px;margin:0}.cap-icon{font-size:25px;text-align:right}.capability.accent{background:var(--acid);border-color:var(--ink)}.capability.accent:hover{background:#cefa25}.experience{background:#e6e5de}.experience-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin:7vw 0}.experience-intro>p{font-size:1.05rem;line-height:1.8;color:var(--muted);margin:0}.timeline{border-top:1px solid var(--ink)}.job{border-bottom:1px solid var(--line)}.job-summary{width:100%;display:grid;grid-template-columns:190px 1fr 1fr 40px;gap:2vw;align-items:center;text-align:left;padding:28px 10px;border:0;background:none;color:inherit;cursor:pointer;font:inherit}.job-period{font:11px var(--mono);color:var(--muted)}.job-company{font-size:clamp(1.2rem,2.1vw,2rem);font-weight:600;letter-spacing:-.04em}.job-role{color:var(--muted)}.job-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:19px}.job-summary:hover .job-company{font-style:italic}.job-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}.job-detail-inner{overflow:hidden;display:grid;grid-template-columns:190px 1fr 1fr 40px;gap:2vw}.job.is-open .job-detail{grid-template-rows:1fr}.job.is-open .job-summary{background:var(--ink);color:var(--bg)}.job.is-open .job-summary .job-period,.job.is-open .job-summary .job-role{color:#adada4}.job-lead{grid-column:2;font-size:1rem;line-height:1.8;margin:0 0 36px}.job-detail ul{grid-column:3;margin:0 0 36px;padding:0;list-style:none;color:var(--muted);font-size:.93rem;line-height:1.7}.job-detail li:before{content:"— ";color:var(--ink)}.technology{background:var(--acid)}.technology .section-head{border-color:#a6bd3f}.tech-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:7vw}.tech-groups{border-top:1px solid #9eb439}.tech-group{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #a6bd3f}.tech-group>span{font:10px var(--mono)}.tech-group h3{font-size:1.1rem;margin:0 0 10px}.tech-group p{line-height:1.7;margin:0;color:#4e571f}.closing{min-height:75vh;background:var(--dark);color:#f4f3ed;display:flex;flex-direction:column;justify-content:space-between}.closing h2{font-size:clamp(3.2rem,8vw,9rem);font-weight:500;line-height:1;letter-spacing:-.07em;margin:8vw 0;text-align:center}.closing-note{font:10px var(--mono);letter-spacing:.12em;text-align:right;color:#8d8f85}.footer{background:var(--dark);color:#a8a99f;border-top:1px solid #45463f;padding:35px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font:9px/1.6 var(--mono);letter-spacing:.08em}.footer a{text-align:center;color:#f4f3ed}.footer p:last-child{text-align:right}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:800px){.site-header{height:72px}.nav{position:fixed;inset:72px 0 auto;background:var(--bg);padding:30px 4vw;flex-direction:column;transform:translateY(-130%);transition:.35s;z-index:-1;border-bottom:1px solid var(--ink)}.nav.open{transform:none}.menu-toggle{display:block}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);margin:7px}.hero{min-height:calc(100svh - 72px);padding-top:8vh}.hero-title{margin:9vh 0 7vh;font-size:clamp(3.2rem,14vw,6rem)}.hero-title span:last-child{text-align:left}.hero-bottom{grid-template-columns:1fr 70px;gap:25px}.hero-description{grid-column:1}.scroll-link{grid-column:2;width:64px;height:64px}.hero-stats{grid-template-columns:1fr 1fr;gap:0;margin-top:8vh}.hero-stats div{padding:18px;border-bottom:1px solid var(--line)}.hero-stats div:nth-child(odd){padding-left:0}.hero-stats div:nth-child(2){border-right:0}.manifesto-grid,.experience-intro,.tech-layout{grid-template-columns:1fr}.manifesto-copy{margin-top:20px}.section-pad{padding:18vw 5vw}.capability{grid-template-columns:40px 1fr 25px;padding:28px 0}.capability p{grid-column:2;margin-top:8px}.cap-icon{grid-column:3;grid-row:1}.job-summary{grid-template-columns:1fr auto;gap:9px;padding:23px 3px}.job-period{grid-column:1}.job-company{grid-column:1}.job-role{grid-column:1}.job-toggle{grid-column:2;grid-row:1/4}.job-detail-inner{display:block;padding:0 3px}.job-lead,.job-detail ul{margin:0 0 25px}.technology .section-title{margin-bottom:30px}.footer{grid-template-columns:1fr 1fr}.footer a{display:none}.closing{min-height:65vh}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
